前言
剛買了一個(gè)mac本, 決定搭建一個(gè)純Docker的開發(fā)環(huán)境, 說到做到, 開始踩坑.
搭建
在搭建環(huán)境的過程中, 經(jīng)歷了很多錯(cuò)誤, 例如為了令兩個(gè)docker環(huán)境可以互通(如: Nginx和php-fpm), 嘗試了 link, network等等等等方式.
最后發(fā)現(xiàn), 如果想實(shí)現(xiàn)兩個(gè)docker環(huán)境的互通, 可以通過link的方式. 但是, link是有啟動(dòng)順序的, 如果你link的容器不存在, 就會出現(xiàn)問題.
這時(shí), docker-compose 閃亮登場, 你可以將所有需要的環(huán)境進(jìn)行定義, 然后一鍵啟動(dòng), 它會自動(dòng)計(jì)算依賴關(guān)系. 中間的各種坑就不說了, 說多了都是我菜, 哈哈.
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 進(jìn)行環(huán)境搭建. 后續(xù)再添加redis, mongo等內(nèi)容吧.
最終, 經(jīng)過摸索, 感覺并沒有我想象中的那么難. 我將內(nèi)容上傳到了碼云上. 有需要的朋友可以下載下來, 然后直接使用命令: docker-compose up命令即可一鍵啟動(dòng). 如果有需要的可以下載使用.
https://gitee.com/hujingnb/php_docker