前言
剛買了一個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
命令即可一鍵啟動. 如果有需要的可以下載使用.