先获取 Apache2 和 php7.1-fpm 镜像
docker pull httpd
docker pull php:7.1-fpm
新建目录www 并允许 fpm 容器
docker run -d --rm --name fpm -v /root/docker/www:/var/www php:7.1-fpm
运行 Apache 容器
docker run -d -p 1272:80 --rm --name httpd -v /root/docker/www:/usr/local/apache2/htdocs/ httpd
复制Apache镜像的默认的 httpd.conf 文件修改
docker cp httpd:/usr/local/apache2/conf/httpd.conf /root/docker/conf
修改如下配置,注意这里的 172.17.0.3 的fpm IP,输入 docker network inspect bridge 查看 fpm 的ip,或者user-define 网路指定IP
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache2/htdocs"
ServerName localhost
<Directory "/usr/local/apache2/htdocs">
Options None
Require all granted
</Directory>
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://172.17.0.3:9000/var/www/$1
</VirtualHost>
然后停止Apache容器,再启动同时绑定 httpd.conf
docker run -d -p 1272:80 --name httpd -v /root/docker/www:/usr/local/apache2/htdocs/ -v /root/docker/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf httpd