HTTPSの追加コマンド
apacheがインストール済みのイメージであれば、以下を追加するだけ。サーバ証明書の作成もコマンド内で完結する。
【dockerfile】
# HTTPS有効化
RUN apt-get install ssl-cert
RUN make-ssl-cert generate-default-snakeoil
RUN a2enmod ssl
RUN a2ensite default-ssl
RUN apachectl restart
【docker-compose.yml】
services:
php:
ports:
- 8443:443
ちなみに「snakeoil」とは「万能と謳った怪しげな薬」的な意味合いで、サンプルとしてapacheにインストールされている証明書の名称でもある。
サンプル
PHP公式イメージに、HTTPSを追加するサンプル。
【dockerfile】
FROM php:7.4.25-apache
# 時刻設定
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# apt最新化
RUN apt-get update
# PHPの関連資材をインストール
RUN apt-get -y install libonig-dev
RUN apt-get -y install libzip-dev
RUN docker-php-ext-install zip
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN docker-php-ext-install pdo_mysql
# HTTPS有効化
RUN apt-get install ssl-cert
RUN make-ssl-cert generate-default-snakeoil
RUN a2enmod ssl
RUN a2ensite default-ssl
# apache設定有効化
RUN apachectl restart
【docker-compose.yml】
version: '3'
services:
php:
build: ./docker_config/php
volumes:
- ./html:/var/www/html
ports:
- 8000:80
- 8443:443
container_name: php7.4.25