1、首先拉取nginx和PHP的镜像
docker pull nginx:latest //拉取nginx
docker pull php:7.3-fpm //拉取PHP7.3
2、先测试运行nginx和PHP镜像查看各容器项目运行目录、日志目录、配置目录,后面进行数据卷的挂载
docker run -d --name php_test php:7.3-fpm //运行PHP镜像得到名为 php_test 的容器
docker run -d --name nginx_test -p 80:80 nginx:latest //运行nginx镜像得到名为 nginx_test 的容器
经查看nginx
/etc/nginx/nginx.conf //配置文件
/etc/nginx/conf.d //扩展配置文件目录
/usr/share/nginx/html //nginx项目目录
/var/log/nginx //日志目录
php
/var/www/html
新建目录作为容器日志、配置、项目目录的挂载卷
mkdir -p /data/docker/nginx/logs //nginx日志目录
mkdir -p /data/docker/nginx/conf/conf.d //nginx配置
mkdir -p /data/docker/nginx/html //项目目录
复制容器配置文件到挂载目录中,先不用做修改,此时可以删除测试用的容器了
docker cp nginx_test:/etc/nginx/nginx.conf /data/docker/nginx/conf
docker cp nginx_test:/etc/nginx/conf.d/default.conf /data/docker/nginx/conf/conf.d/default.conf
3、运行PHP镜像并挂载工作目录
docker run -d --name php73 -v /data/docker/nginx/html:/var/www/html php:7.3-fpm
4、运行nginx镜像挂载对应目录,并连接刚新建的 php73 容器
docker run -d --name mynginx -it -p 80:80 -v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/docker/nginx/html:/usr/share/nginx/html -v /data/docker/nginx/logs:/var/log/nginx --link php73:php73 nginx:latest
5、修改nginx配置文件 default.conf
location ~ \.php$ {
root /var/www/html; //PHP容器应用目录
fastcgi_pass php73:9000; //此处php73为--link php73:php73 为容器php73设置的别名php73,":"前为容器名,":"后为设置的别名
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
修改完配置信息,重启nginx容器
docker restart mynginx
在挂载目录html下面新建PHP文件
vim index.php
<?php
phpinfo();
?>
然后访问响应服务器地址接口完成PHP环境的docker的部署