一、生成密钥和证书
可以使用openssl或者cloudflare进行生成,根证书和key分别保存为server.crt和server.key
二、编辑虚拟主机配置文件
注意:没有创建的文件夹需要创建对应的文件夹
文件名为:dev.conf
<VirtualHost *:443>
DocumentRoot "/var/www/html/"
ServerName 你申请的域名
SSLEngine on
SSLCertificateFile "/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile "/etc/apache2/ssl/server.key"
</VirtualHost>
三、构造Dockerfile文件
传入server.crt server.key 在/etc/apache2/ssl/目录下
传入dev.conf 在/etc/apache2/sites-enabled/目录下
在/etc目录下,创建Dockerfile文件,文件内容如下
FROM php:7.1-apache
RUN apt-get update && apt-get install -y zlib1g-dev
COPY server.crt /etc/apache2/ssl/server.crt
COPY server.key /etc/apache2/ssl/server.key
COPY dev.conf /etc/apache2/sites-enabled/dev.conf
RUN docker-php-ext-install mysqli pdo pdo_mysql zip mbstring
RUN a2enmod rewrite
RUN a2enmod ssl
RUN service apache2 restart
四、构建运行Docker镜像
docker build .
之后会得到一个镜像版本号
481bd434bfda
然后运行如下命令
docker run -p 80:80 -p 443:443 -v /var/www/html:/var/www/html -itd 481bd434bfda apache2-foreground
五、写入php等文件
将php和html和js文件,传入/var/www/html目录下
运行如下命令:docker exec -it 291b81566543 /bin/bash,进入docker内部环境
在/var/www/html目录下,运行chmod 777 * 修改文件执行权限