刚买了一个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命令即可一键启动. 如果有需要的可以下载使用.
https://gitee.com/hujingnb/php_docker