最近在搭测试环境,一开始就在vagant和docker之间来回折腾。两者其实都非常适合用来搭开发环境;但最终让我决定用Docker的原因是因为Vagant在hyper-v下出现了一些奇怪的问题,所以Docker就顺理成章的成了最后的选择。
总结了下Docker相比vagant的优势:
1. docker的镜像比较成熟而且丰富,基本上只需要引入就完事了,用vagrant的话,可能还要自己搭,实现不想再折腾各种安装包了;
2. docker的配置打包好后,可以很方便的打包给同事用,用vagant的话,同事可能还要重新学习一遍:
3. 资料和文档上docker比vagant好找;
4. 对docker比较熟;)
5. 对hyper-v的兼容性比较好。
docker-compose.yml
version: "3.1"
services:
web:
image: php:5.6.40-apache
ports:
- "80:80"
- "443:443"
volumes:
- ./app:/var/www/html
networks:
- default
db:
image: mysql:5.7
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: example
MYSQL_USER: admin
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./dump:/docker-entrypoint-initdb.d
- ./conf:/etc/mysql/conf.d
- ./persistent:/var/lib/mysql
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8000:80
environment:
MYSQL_USER: admin
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
docker-compose配置文件地址:https://github.com/seozed/lamp-for-docker/tree/master
MYSQL
默认账号:admin 默认密码:123456
不要在线上使用这个账号密码!
启动命令
docker-compose -f "docker-compose.yml" up
预览图