Docker web环境搭建 nginx + php-fpm

用docker搭建一个php网站
  1. docker 安装 , 参考 https://www.runoob.com/docker/macos-dockerinstall.html
  2. 下载 php-fpm和 nginx 镜像
docker pull php:7.1-fpm
docker pull nginx

3.启动之前先创建一个docker网络,使用docker来连接多个容器。

docker network create -d bridge php-net

下载成功后 docker image ls 查看镜像列表
image.png
  1. 创建容器
    创建两个容器分别提供 nginx 和 php-fpm服务
    将容器中的 9000 端口映射到 本机的 9001,80 映射到 80 (可随意设定)
    将容器中 /data 目录 映射到 本机中的 /Users/myWork 目录,当做web项目根目录
docker run --name php-web -d  —network php-net -p 9001:9000 -v /Users/myWork:/data php:7.1-fpm
docker run --name nginx-web -d  --network php-net -p 80:80 -v /Users/myWork:/data nginx

成功后 docker ps -a 查看所有容器状态
image.png
  1. 修改nginx-web 和 php-web 配置
    我们需要nginx容器 去调用 php-web 容器的 php 服务
    先进入nginx-web 容器中,docker exec -it 容器Id bash
    cd 到 /etc/nginx/conf.d 中,打开default.conf
    Docker web环境搭建 nginx + php-fpm_第1张图片
    image.png
    修改nginx 配置
    Docker web环境搭建 nginx + php-fpm_第2张图片
    image.png
    fastcgi_pass 为 php-web 虚拟ip
    fastcgi_param SCRIPT_FILENAME /data$fastcgi_script_name;
    保存之后 service nginx reload 重启nginx
  2. 浏览器 访问localhost
  3. 遇到的问题
    1 容器中没有 vim , 执行 apt-get update , apt-get install vim
    2 不知道虚拟ip 进入容器中,cat /etc/hosts

    3 mac 可能会遇到本地映射目录的权限问题,可以在这里进行修改
    Docker web环境搭建 nginx + php-fpm_第3张图片
    image.png

你可能感兴趣的:(Docker web环境搭建 nginx + php-fpm)