今回参考にしたHPは以下。
Docker環境で簡単にSSL化する方法を解説 【失敗しない初心者でもできる方法】
今回は、以下のHPを参考にして作成していく。注意点は、
- sslhをフロントに噛ませるので設定注意(とはいえ、proxyの設定を弄らなくて良い様に設定してるので、こちらはコピペで十分)
以下に同じくオマジナイを書くと.shとして使えそうなスクリプトを貼っておきます。
mkdir -p ~/docker/proxy && cd $_
#docker-compose.ymlを作る
cat << EOF > docker-compose.yml
version: '3.7'
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
privileged: true
environment:
- "DHPARAM_GENERATION=false"
ports:
- 80:80
- 443:443
networks:
nginx-proxy-network:
aliases:
- nginx-proxy.example.com
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /var/docker/proxy/proxy:/usr/share/nginx/html
- /var/docker/proxy/proxy:/etc/nginx/vhost.d
- /var/docker/proxy/encrypt/certs:/etc/nginx/certs:ro
#- /var/docker/conf.d:/etc/nginx/conf.d/proxy.conf:ro # 設定を上書きするときはconf.d内に「.conf」拡張子で追加する
restart: always
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
letsencrypt-nginx:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt-nginx
privileged: true
environment:
- NGINX_PROXY_CONTAINER=nginx-proxy
networks:
nginx-proxy-network:
aliases:
- letsencrypt-nginx.example.com
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/docker/proxy/proxy:/etc/nginx/vhost.d
- /var/docker/proxy/proxy:/usr/share/nginx/html
- /var/docker/proxy/encrypt/certs:/etc/nginx/certs:rw
restart: always
depends_on:
- nginx-proxy
networks:
default:
external:
name: bridge
nginx-proxy-network:
external: true
EOF
docker-compose build --no-cache
docker-compose up -d
注意点は特にないですが、バインドボリュームの設定を/var/dockerにしていますが、カレントディレクトリ以下でも良かったかもしれない。結局別のHDDをシンボリックリンクするんだし・・・