1、拉取Nginx镜像
docker pull nginx
2、启动容器
nginx run -d --name nginx -p 80:80 nginx
3、访问Nginx,出现Nginx欢迎页面
curl localhost
4、创建目录存储 Nginx 的配置和日志
mkdir -p /docker/nginx && cd /docker/nginx
mkdir conf log
5、从容器内复制配置文件到宿主机,经配置文件映射到容器内对应的目录中(这样在宿主机就能改容器里面的配置)
docker cp nginx:/etc/nginx/conf.d/default.conf /docker/nginx/conf/default.conf
6、重建容器
1、docker stop nginx && docker rm nginx
2、docker run --name nginx -p 80:80 -v /docker/nginx/conf:/etc/nginx/conf.d \ -v /www:/usr/share/nginx/html \(这里是nginx默认访问的地方,/www这块的路径必须与PHP的一致)
-v /docker/nginx/log:/var/log/nginx --link php7.4-fpm:php7.4-fpm -d nginx
7、查看容器状态
docker ps -a
问题1:curl localhost报错,提示file not find
原因:nginx读取网站根目录时没有找到php文件
解决:找到项目目录挂载位置(启动容器时的-v /webroot:/var/www/html)。我的项目目录挂载在 /var/www/html目录下
修改Nginx配置文件的fastcgi_param为 fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
最后重启Nginx