Docker提供一个容器编排工具------》Docker Compose,它允许用户在一个模板(YAML格式)中定义一组相关联的应用容器,这组容器会根据配置模板中的"--link"等参数
对启动的优先级自动排序,简单执行一条"docker-compose up",就可以把同一个服务中的多个容器一次创建和启动。
安装docker-compose:
使用Docker Compose管理多个容器,首先需要把容器写到它的配置文件中,默认配置文件名为docker-compose.yml,我们可以通过“-f”选项指定配置文件。
下面通过安装redmine来说明
将docker run创建容器的指令改造为Docker Compose的配置文件
postgresql容器创建和启动的命令为:
1
2
3
4
5
|
[root@localhost ~] # docker run --name postgresql-redmine -d \
> -- env 'DB_NAME=redmine_production' \
> -- env 'DB_USER=redmine' \
> -- env 'DB_PASS=password' \
> sameersbn /postgresql :9.4-12
|
它使用sameersbn/postgresql:9.4-12镜像创建了一个名字为postgresql-redmine的容器,并配置了三个环境变量。转换为Docker Compose配置文件内容如下:
1
2
3
4
5
6
|
postgresql:
image: sameersbn /postgresql :9.4-12
environment:
- DB_NAME=readmine_production
- DB_USER=redmine
- DB_PASS=password
|
redmine容器创建和启动的命令为:
它使用 sameersbn/redmine:3.2.0-4镜像创建了一个名字为redmine的容器,转换为Docker Compose配置文件内容如下:
1
2
3
4
5
6
7
8
|
redmine:
image: sameersbn /redmine :3.2.0-4
links:
- postgresql:postgresql
ports:
- "10083:80"
environment:
- REDMINE_PORT=10083
|
创建配置文件~/redmine/docker-compose.yml,合并内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
postgresql:
image: sameersbn /postgresql :9.4-12
environment:
- DB_NAME=readmine_production
- DB_USER=redmine
- DB_PASS=password
redmine:
image: sameersbn /redmine :3.2.0-4
links:
- postgresql:postgresql
ports:
- "10083:80"
environment:
- REDMINE_PORT=10083
|
执行新容器组的创建和启动:
1
|
docker-compose up -d
|
最后,通过http://ip10083就可以访问网站。
后续启动和停止就变得非常简单了:
停止命令:
1
|
docker-compose stop
|
启动命令:
1
|
docker-compose start
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/Template/p/9344656.html