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
    image.png
    修改nginx 配置
    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 可能会遇到本地映射目录的权限问题,可以在这里进行修改
    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容