前言
刚买了一个mac本, 决定搭建一个纯docker的开发环境, 说到做到, 开始踩坑.
搭建
在搭建环境的过程中, 经历了很多错误, 例如为了令两个docker环境可以互通(如: nginx和php-fpm), 尝试了 link, network等等等等方式.
最后发现, 如果想实现两个docker
环境的互通, 可以通过link的方式. 但是, link是有启动顺序的, 如果你link的容器不存在, 就会出现问题.
这时, docker-compose
闪亮登场, 你可以将所有需要的环境进行定义, 然后一键启动, 它会自动计算依赖关系. 中间的各种坑就不说了, 说多了都是我菜, 哈哈.
version: '3'
services:# 定义php-fpm容器php-fpm:image: nanoninja/php-fpmvolumes:- "/Users/hujing/dir:/Users/hujing/dir"restart: alwaysdepends_on:- mysql# 定义nginx容器nginx:image: nginxdepends_on:- php-fpmvolumes:- "./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: alwaysmysql:image: mysqlports:- "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
命令即可一键启动. 如果有需要的可以下载使用.
https://gitee.com/hujingnb/php_docker