Dockerでnginxを動作させるまでの手順
Dockerではnginxを簡単に動作させることが可能です。
nginxの導入~SSL化までの手順を解説。
必要に応じてWSL上のコマンドは先頭にsudoを記述してください。
前提条件
環境はwindows10
WSL2とDockerはインストール済とする
SSL証明書は発行済とする
nginxのインストール
■WSLの起動
CMDなどのターミナルでWSLを起動
> wsl
■nginxのイメージを取得
Dockerでnginxを動作させるのに使える公式イメージは、公式のレジストリサービス「Docker Hub」から取得できます。nginxイメージを取得するためのコマンドは、以下。
$ docker image pull nginx
■nginxを動作させる
nginxイメージを実行することで、Dockerコンテナを生成しnginxを動作させます。
$ docker run --name testnginx -d -p 8082:80 nginx
・「-p 8082:80」
ホスト側のポート番号(8082)と、Docker側のポート番号(80)を紐づけるオプションです。
・「-d」
Dockerコンテナをバックグラウンドで実行するためのオプションです。
・「–name testnginx」
コンテナ名を付与するオプションです。ここではtestnginxという名前をつけてます。
これでnginxの動作が開始されました。「http://コンテナのIPアドレス:8082/」にアクセスすると、以下のようにnginxのデフォルトページが表示されます。
「http://127.0.0.1:8082」「http://localhost:8082」など

nginxでSSL化する設定
■dockerコンテナを起動させる
$ docker start testnginx
■dockerコンテナの稼働状況確認
$ docker ps -a
STATUSがUpとなっていたらコンテナは稼働中。Exitedとなってたらコンテナは稼働してません。
■dockerコンテナ内でコマンドを実行
$ docker exec -it testnginx bash
「root@〇〇〇〇〇〇 #」みたいなユーザに切り替わればdockerコンテナに入れました。
■vimエディタのインストール
dockerコンテナ内で使用するテキストエディタをインストールします。
今回はvimエディタを使用します。好みに応じて別のエディタを使用してもOKです。
# apt-get update
# apt-get install vim
apt-get updateでパッケージのアップデートを行います。
apt-get install vimでvimのインストールを行います。
■configファイルの編集
configファイルでリバースプロキシの設定を実施します。
configファイルのあるディレクトリへ移動します。デフォルトでは以下にあります。
# cd /etc/nginx/conf.d
vimでdefault.confを開きます。
# vi default.conf
以下のように編集してみます。
server {
    listen      80 ssl;
    listen [::]:80 ssl;
    server_name testnginx;
    ssl_certificate /etc/nginx/certs/certificate.pem;
    ssl_certificate_key /etc/nginx/certs/privatekey.pem;
    location / {
        proxy_pass http://localhost:8080;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
ssl_certificateにはSSL証明書の場所を指定
ssl_certificate_keyにはプライベートキーの場所を指定
proxy_passにはリバースプロキシしたいサイトを指定
■SSL証明書の配置
以下にSSL証明書を保管するディレクトリを作成します。
# mkdir /etc/nginx/certs
コンテナから抜けて、WSL上へもどります。
WSL上で証明書の配置してあるフォルダへ移動します。
証明書のインストール(コピー)を実施
$ docker cp privatekey.pem testnginx:/etc/nginx/certs
$ docker cp certificate.pem testnginx:/etc/nginx/certs
■windowsのhostsの編集
windows側のhostsに以下を追記する。
hostsの場所C:\Windows\System32\drivers\etc
127.0.0.1 FQDN
FQDNにはSSL証明書を発行した際に紐づけしたFQDNを指定すること。
■nginxの再起動
nginxを再起動する
# service nginx restart
これでSSL化ができます。
https://FQDN:8082/にアクセスして指定したサイトへリバースプロキシされるか確認。
SSL化ができてたらURLの先頭が鍵マークに変わります。

以上でSSL化ができました!!