1. docker-compose特点
- 单台主机,多套环境。比如你可以在一台主机上配置同时生产、测试环境;它们相互独立;
- 通过挂载,可以保留容器产生的数据。
- 只重新创建镜像发生改变的容器。
2. docker-compose常用命令
(1)创建并启动服务
docker-compose up
-d
选项表示后台启动。
(2)查看服务状态
docker-compose ps
(3)查看服务运行日志
docker-compose logs
(4)开启服务
docker-compose start
(5)停止服务
docker-compose stop
(6)重启服务
docker-compose restart
3. docker-compose.yml语法
先看一个例子:
version: '2.1'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- log:/var/log
links:
- redis
redis:
image: redis
image
image: mysql:latest
ports
ports:
- "8000:8000"
volumes
volumes:
- /opt/data:/var/lib/mysql
environment
environment:
- RACK_ENV=development
- SHOW=true
links
links:
- "db"
- "redis"
depends_on
一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,必然会因为容器依赖问题而启动失败。通过使用depends_on
,可以保证服务启动顺序。
例子:
depends_on:
- db
- redis
例子中当前服务会首先启动db
、redis
两个服务。
networks
networks:
- some-network
- other-network