前言
剛買了一個mac本, 決定搭建一個純docker的開發環境, 說到做到, 開始踩坑.
搭建
在搭建環境的過程中, 經歷了很多錯誤, 例如爲了令兩個docker環境可以互通(如: nginx和php-fpm), 嘗試了 link, network等等等等方式.
最後發現, 如果想實現兩個docker
環境的互通, 可以通過link的方式. 但是, link是有啓動順序的, 如果你link的容器不存在, 就會出現問題.
這時, docker-compose
閃亮登場, 你可以將所有需要的環境進行定義, 然後一鍵啓動, 它會自動計算依賴關係. 中間的各種坑就不說了, 說多了都是我菜, 哈哈.
version: '3'
services:
# 定義php-fpm容器
php-fpm:
image: nanoninja/php-fpm
volumes:
- "/Users/hujing/dir:/Users/hujing/dir"
restart: always
depends_on:
- mysql
# 定義nginx容器
nginx:
image: nginx
depends_on:
- php-fpm
volumes:
- "./config/nginx/config:/etc/nginx/conf.d"
- "/etc/hosts:/etc/hosts"
- "/Users/hujing/dir:/Users/hujing/dir"
- "./config/nginx/log:/var/log/nginx"
ports:
- "80:80"
restart: always
mysql:
image: mysql
ports:
- "3306:3306"
volumes:
- ".config/mysql/data:/var/lib/mysql"
- ".config/mysql/config:/etc/mysql/conf.d"
environment:
MYSQL_ROOT_PASSWORD: 'root'
上面是nginx
, php-fpm
, mysql
進行環境搭建. 後續再添加redis, mongo等內容吧.
最終, 經過摸索, 感覺並沒有我想象中的那麼難. 我將內容上傳到了碼雲
上. 有需要的朋友可以下載下來, 然後直接使用命令: docker-compose up
命令即可一鍵啓動. 如果有需要的可以下載使用.