一、docker拉取nginx和php镜像
命令如下:
docker pull nginx:latest
docker pull php:7.4-fpm
1、创建本地挂载路径:
mkdir -p /docker/nginx/www/myphp (-p代表递归创建,按目录层级创建目录)
2、创建php容器
docker run --name myphp -v /docker/nginx/www/myphp:/www/myphp -d 镜像ID
3、创建nginx本地挂在路径:
mkdir -p /docker/nginx/conf/conf.d
4、nginx配置文件如下:
server {listen 80;server_name localhost; #这里修改成自己的域名,我这里是本地运行所以填的localhostlocation / {root /usr/share/nginx/html;index index.html index.htm index.php;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}#当请求网站下php文件的时候,反向代理到php-fpmlocation ~ \.php$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /www/myphp/$fastcgi_script_name;include fastcgi_params;}
}
5、创建nginx容器:
docker run --name nginx1 -p 8090:80 -d -v /docker/nginx/www/myphp:/usr/share/nginx/html -v /docker/nginx/conf/conf.d:/etc/nginx/conf.d --link myphp:php nginx
PS:
# docker run --name nginx1 -p 8090:80 -d -v /docker/nginx/www/myphp:/usr/share/nginx/html -v /docker/nginx/conf/conf.d:/etc/nginx/conf.d --link myphp:php nginx-v 本地目录:容器内目录 -p 本地端口:容器端口 --link 数据库容器名:数据库容器别名
6、创建文件测试:
效果如下:
参考文章:nginx调用php原理