Docker 搭建多容器組合服務 (nginx + PHP)


Docker 搭建多容器組合服務 (nginx + php)

 

  • 首先要確保本地 docker 環境已經安裝成功

    Docker NGINX + PHP
     

     

Docker 安裝 Nginx

 

  1. docker pull nginx (拉取最新 nginx 鏡像)
    Docker NGINX + PHP
     

docker images (查看本地 nginx 鏡像是否安裝成功)

Docker 搭建 多容器組合服務(nginx + php)
 

Docker 安裝 PHP

 

  1. docker pull php:7.4-fpm (拉取指定版本的 php )
    Docker 搭建 多容器組合服務(nginx + php)
     

docker images (查看本地 php 鏡像是否安裝成功)

Docker 搭建 多容器組合服務(nginx + php)
 
  • 准備好一個本地目錄用於容器掛載 (例如 E:\WWW 目錄)

 

  • 使用 docker 運行 php 、nginx 容器

1.運行 php 命令 “docker run –name myphp -p 9000:9000 -v E:\WWW:/var/www/html -d php:7.4-fpm” (注意: myphp 容器的 /var/www/html 目錄 掛載了一個本地 E:\WWW 目錄)

Docker 搭建 多容器組合服務 (nginx + PHP)
 

 

2.運行 nginx 命令 “docker run –name mynginx -p 80:80 -v E:\WWW:/usr/share/nginx/html –link=myphp:phpfpm -d nginx” (注意:mynginx 容器的 /usr/share/nginx/html 目錄 掛載了一個本地 E:\WWW 目錄,–link=” 這里是要連接的容器名,如命令 myphp “:” 這里是別名”)

Docker 搭建 多容器組合服務 (nginx + PHP)
 

3.配置 default.conf 復制到 mynginx 容器里 /etc/nginx/conf.d 目錄下


server {
listen       80;
server_name  localhost;

location / {
   root   /usr/share/nginx/html;
   index  index.html index.htm index.php;
}

location ~ \.php$ {
   # 注意 這里是 php 的掛載目錄哦
   root           /var/www/html;
   fastcgi_pass   phpfpm:9000;
   fastcgi_index  index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include        fastcgi_params;
}
}

  

以上就是 default.conf 的配置內容 需要注意 fastcgi_pass,fastcgi_param,root 這幾項的配置

4.復制本地 “default.conf” 配置文件到 “mynginx” 容器里面

命令 “docker cp E:\WWW\default.conf 1501fae3ec6f:/etc/nginx/conf.d” (E:\WWW\default.conf 這里是本地文件路徑; 1501fae3ec6f 代表 mynginx 容器 id ;/etc/nginx/conf.d 代表 mynginx 容器里的目錄)

Docker 搭建 多容器組合服務 (nginx + PHP)
 

5.“docker exec -it mynginx bash” 命令 進入 mynginx 容器里面 執行 “ service nginx reload ” 加載 nginx 配置文件

6.訪問項目 index.php 成功打印出 phpinfo 信息

Docker 搭建 多容器組合服務 (nginx + PHP)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM