Docker上のWebサーバーをHTTPS化
コンテナ上の証明書格納パス
/usr/local/apache2/conf/
コンテナ上のデフォルト設定ファイル
/usr/local/apache2/conf/httpd.conf
デフォルトの設定ファイルをコンテナから取得
$ docker cp my-apache:/usr/local/apache2/conf/httpd.conf ./my-httpd.conf
コピーした設定ファイルを編集
以下3行のコメントを外す
code:conf
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
Dockerfileを編集
code:Dockerfile
# ベースイメージとしてApache 2.4を使用
FROM httpd:2.4
# メンテナ情報
LABEL maintainer="koyoshi@example.com"
# カスタム設定ファイルをコピー
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
# 鍵と証明書をコピー
COPY ./cert/* /usr/local/apache2/conf/
# カスタムHTMLをコピー
COPY ./html/ /usr/local/apache2/htdocs/
# デフォルトコマンド(Apacheの起動)
イメージをビルド
$ docker build -t my-apache2-https .
コンテナを起動
$ docker run -dit --name my-https -p 80:80 -p 443:443 my-apache2-https
参考: