配置环境目录和拉取镜像
mkdir -p /docker/nginx/htmlmkdir -p /docker/nginx/conf.ddocker pull nginxdocker pull php:7.1.0-fpm
nginx配置文件
vim /docker/nginx/conf.d/default.confserver {listen 80 default_server;server_name _;root /usr/share/nginx/html;location / {index index.html index.htm index.php;autoindex off;}location ~ \.php(.*)$ {root /var/www/html/;fastcgi_pass 172.17.0.2:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;}}
运行php
docker run -p 9000:9000 --name myphp \-v /docker/nginx/html:/var/www/html/ \--privileged=true \-d php:7.1.0-fpm
查询容器IP地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
运行nginx
docker run -p 80:80 --name mynginx \-v /docker/nginx/html:/usr/share/nginx/html \-v /docker/nginx/conf.d:/etc/nginx/conf.d \--privileged=true \-d nginx
生成测试文件
echo "<?php phpinfo();" > /docker/www/info.php
nginx同IP多站点配置样例
vim /docker/nginx/conf.d/www.test.com.confserver {listen 80;server_name www.test.com;root /usr/share/nginx/html/www.test.com/;location / {index index.html index.htm index.php;autoindex off;}location ~ \.php(.*)$ {root /var/www/html/www.test.com/;fastcgi_pass 172.17.0.2:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;}}
