用docker搭建一个php网站
- docker 安装 , 参考 https://www.runoob.com/docker/macos-dockerinstall.html
- 下载 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
- 创建容器
创建两个容器分别提供 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
- 修改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 - 浏览器 访问localhost
-
遇到的问题
3 mac 可能会遇到本地映射目录的权限问题,可以在这里进行修改 image.png
1 容器中没有 vim , 执行 apt-get update , apt-get install vim
2 不知道虚拟ip 进入容器中,cat /etc/hosts
网友评论