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