lnmp團隊開發環境docker環境搭建PHP7.2 mac系統為例
docker-compose-nginx-php-mysql
docker-compose+nginx+php+mysql+redis+elasticsearch
fox.風
本次案例以 mac系統為例,其他系統等有時間了再製作
github庫
版本
php:5.6.x
php:7.x
mysql:5.6.x
mysql:5.7.x
nginx:latest
elasticsearch:latest
nginx docker內配置檔案位置
配置檔案位置:/etc/nginx/nginx.conf
來源:官方源
php docker內配置檔案位置
來源:官方源
配置檔案及目錄位置
/usr/local/etc/php-fpm.conf
/usr/local/etc/php-fpm.d/www.conf
/usr/local/etc/php-fpm.d 目錄
php.ini 預設載入目錄位置
/usr/local/etc/php/conf.d/ 目錄
擴充套件目錄位置
/usr/local/lib/php/extensions/
redis
來源:官方源
Mac系統 docker 安裝案例
Mac系統 安裝方式
下載該軟體,安裝略
開始設定目錄
選單->Preferences->File Sharing,點 + 號,選擇 跟目錄下的 Volumes
Apply & Restart
按鈕
設定阿里雲源
選單->Preferences->Daemon ,Basic 選項卡 ,Registry mirrors 下,點 + 號,把你的阿里雲映象加速地址加入進去。
阿里雲映象加速地址類似於這種格式https://******.mirror.aliyuncs.com
,
0.首先MAC系統硬碟設定
mac 系統預設硬碟預設 不區分大小寫
,
建議分割槽,我這裡是分割槽的
建立 一個 10G
卷名為work
的分割槽,格式化為區分大小寫
格式。
注意也可以不分割槽,
/Volumes/
目錄下建立一個軟連線資料夾也可以
1.選擇要安裝的系統和版本
例如:mac系統 php 7.2版本,進入mac-php72-swoole
目錄
cd mac-php72-swoole
2.docker-compose.yml配置更改
選擇你需要的功能,不需要的用#號註釋掉
3.建立目錄和檔案
新建目錄
mkdir -p /Volumes/work/wwwroot/
Volumes: MAC系統 卷 硬碟名稱都會顯示在裡面,work
單獨的分割槽
work:分割槽名稱
wwwroot:自定義目錄,預設目錄
在 /Volumes/work/wwwroot/
目錄下
新建 index.php
<?php
phpinfo();
4.生成映象
這個時候 一定不能更換目錄。
注意
如果你以前已經配置過一樣的容器那麼會自動覆蓋容器
docker-compose up
時間比較長, 更新源都在國外,最好早晨拉取
完成後,在瀏覽器裡面輸入localhost
回車,即可看到phpinfo
輸出資訊
PHP 7.1 PHP7.2 已自動啟用全部擴充套件,低版本 請自行開啟擴充套件
PHP 7.1 PHP7.2 已自動啟用全部擴充套件
低版本
請自行開啟擴充套件
安裝完成後 一定要配置PHP,主要啟用PHP擴充套件
主要 啟用
PHP擴充套件
docker exec -it macphp71_1 /start.sh
macphp71_1 容器名字可能生成的不一樣
X.問題
X.1 許可權問題
設定 可讀寫執行許可權
chmod -R 777 /Volumes/work/wwwroot
更改下載映象名稱
下載映象和容器字首名稱是根據當前專案目錄名設定的。
例如當前專案目錄為mac-php72-swoole
,那麼映象和容器的字首名為 macphp72swoole
=============================================================
以下為 手動配置 從空白的 docker 如何整合 開發套件的簡單步驟
nginx 配置
本配置 nginx 預設啟動時已經自動配置了,
以下是手動配置方法
進入nginx容器
docker exec -it compose_nginx_1 bash
compose_nginx_1
容器名字可能不一樣
配置nginx.conf
vim /etc/nginx/nginx.conf
找到如下配置
include /etc/nginx/conf.d/*.conf;
修改為:(根據你自己分割槽名稱置修改)
include /Volumes/work/vhost/*.conf;
儲存和退出容器
php 配置
略
跟nginx類似