本文基于centos7+docker19.03.5
镜像下载
- nginx镜像下载
docker pull nginx
- php-fpm镜像下载
docker pull php:7.4-fpm
运行php-fpm
我们所有的项目都是放在 /data1/www/htdocs/
目录下
通过以下命令启动php-fpm镜像:
docker run -d -p 9000:9000 --name php-fpm -v /data1/www/htdocs:/data1/www/htdocs php:7.4-fpm
这里端口只能是9000,原因待查
p.s. 为什么端口只能是9000
使用以下命令进入php-fpm容器:
docker exec -it $your_container_id /bin/bash
找到php-fpm的配置文件/usr/local/etc/php-fpm.d/www.conf
,可以看到listen的端口是9000,所以做其他端口映射是没有用的
通过以下命令看一下php-fpm容器的ip
docker inspect --format '{{ .NetworkSettings.IPAddress }}' php-fpm
运行nginx
我们nginx的各个server的conf文件都放在/usr/local/nginx/conf.d
目录下
示例
server {
listen 80;
server_name test.com;
location / {
fastcgi_pass 172.17.0.2:9000;#php-fpm容器的ip
fastcgi_param SCRIPT_FILENAME /data1/www/htdocs/test.com/index.php;
include fastcgi_params;
}
}
通过以下命令启动nginx镜像:
docker run -p 80:80 -d -v /data1/www/htdocs:/data1/www/htdocs:ro -v /usr/local/nginx/conf.d:/etc/nginx/conf.d:ro --name nginx nginx