1. 程式人生 > >lnmp團隊開發環境docker環境搭建PHP7.2 mac系統為例

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類似