用docker搭建一個(gè)php網(wǎng)站
- docker 安裝 , 參考 https://www.runoob.com/docker/macos-dockerinstall.html
- 下載 php-fpm和 nginx 鏡像
docker pull php:7.1-fpm
docker pull nginx
3.啟動(dòng)之前先創(chuàng)建一個(gè)docker網(wǎng)絡(luò),使用docker來(lái)連接多個(gè)容器。
docker network create -d bridge php-net
下載成功后 docker image ls 查看鏡像列表
image.png
- 創(chuàng)建容器
創(chuàng)建兩個(gè)容器分別提供 nginx 和 php-fpm服務(wù)
將容器中的 9000 端口映射到 本機(jī)的 9001,80 映射到 80 (可隨意設(shè)定)
將容器中 /data 目錄 映射到 本機(jī)中的 /Users/myWork 目錄,當(dāng)做web項(xiàng)目根目錄
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 查看所有容器狀態(tài)
image.png
- 修改nginx-web 和 php-web 配置
我們需要nginx容器 去調(diào)用 php-web 容器的 php 服務(wù)
先進(jìn)入nginx-web 容器中,docker exec -it 容器Id bash
cd 到 /etc/nginx/conf.d 中,打開default.conf修改nginx 配置image.png
fastcgi_pass 為 php-web 虛擬ipimage.png
fastcgi_param SCRIPT_FILENAME /data$fastcgi_script_name;
保存之后 service nginx reload 重啟nginx - 瀏覽器 訪問(wèn)localhost
-
遇到的問(wèn)題
3 mac 可能會(huì)遇到本地映射目錄的權(quán)限問(wèn)題,可以在這里進(jìn)行修改
1 容器中沒(méi)有 vim , 執(zhí)行 apt-get update , apt-get install vim
2 不知道虛擬ip 進(jìn)入容器中,cat /etc/hosts
image.png


