- 拉取官方镜像
### 拉取php5.6 fpm的镜像 docker pull php:5.6-fpm ### 查看镜像 docker images REPOSITORY TAG IMAGE ID CREATED SIZE php 5.6-fpm 3458979c7744 23 months ago 344MB
- 运行php容器
docker run --name php-56-fpm -d -v /work/docker/www:/www php:5.6-fpm
命令说明:
Nginx安装--name php-56-fpm 命名容器名称为php56fpm
-d 后台运行容器
-v /work/docker/www:/www 将宿主机目录/work/docker/www挂载到容器的/www
php:5.6-fpm 指定镜像为php,TAG为5.6-fpm
- 拉取官方镜像
### 拉取镜像 docker pull nginx ### 查看镜像 docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest ae2feff98a0c 3 weeks ago 133MB
- 运行Nginx容器
docker run --name myNginx -p 8080:80 -d -v /work/docker/www:/www -v /work/docker/nginx/conf.d:/etc/nginx/conf.d --link php-56-fpm:php nginx
命令参数说明:
--name myNginx 命名容器名称为myNginx
-p 8080:80 将容器的80端口映射到宿主机的8080端口
-d 后台运行容器,并返回容器ID
-v /work/docker/www:/www 将宿主机目录/work/docker/www挂载到容器的/www
-v /work/docker/nginx/conf.d:/etc/nginx/conf.d 将宿主机目录/work/docker/nginx/conf.d挂载到容器的/etc/nginx/conf.d
--link php-56-fpm:php 把php56fpm的网络并入nginx容器,并修改nginx容器的/etc/hosts,让nginx可以通过php:9000访问到php-fpm
nginx 指定镜像名称
- Nginx配置
修改/work/docker/nginx/conf.d/default.conf配置文件如下:
server {
listen 80;
server_name localhost;
location / {
root /www;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
fastcgi_pass php:9000; #这个就是--link并入的网络连接
fastcgi_index index.php;
fastcgi_param script_FILENAME /www$fastcgi_script_name; #特别说明:这里的/www要与php56fpm容器里映射的php脚本路径一致,否则php-fpm将找不到php脚本,会报404错误
include fastcgi_params;
}
}
接下来我们在 /work/docker/www 目录下创建 index.php,代码如下:
浏览器打开http://127.0.0.1:8080/index.php,显示如下:
phpinfo.png
作者:山哥的哥
链接:https://www.jianshu.com/p/69edb8f8c731
来源:简书



