Docker web環(huán)境搭建 nginx + php-fpm

用docker搭建一個(gè)php網(wǎng)站
  1. docker 安裝 , 參考 https://www.runoob.com/docker/macos-dockerinstall.html
  2. 下載 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
  1. 創(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
  1. 修改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
    image.png
    修改nginx 配置
    image.png
    fastcgi_pass 為 php-web 虛擬ip
    fastcgi_param SCRIPT_FILENAME /data$fastcgi_script_name;
    保存之后 service nginx reload 重啟nginx
  2. 瀏覽器 訪問(wèn)localhost
  3. 遇到的問(wèn)題
    1 容器中沒(méi)有 vim , 執(zhí)行 apt-get update , apt-get install vim
    2 不知道虛擬ip 進(jìn)入容器中,cat /etc/hosts

    3 mac 可能會(huì)遇到本地映射目錄的權(quán)限問(wèn)題,可以在這里進(jìn)行修改
    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容