欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

docker compose 使用教程

程序员文章站 2022-12-06 20:02:49
docker提供一个容器编排工具------》docker compose,它允许用户在一个模板(yaml格式)中定义一组相关联的应用容器,这组容器会根据配置模板中的"--...

docker提供一个容器编排工具------》docker compose,它允许用户在一个模板(yaml格式)中定义一组相关联的应用容器,这组容器会根据配置模板中的"--link"等参数

对启动的优先级自动排序,简单执行一条"docker-compose up",就可以把同一个服务中的多个容器一次创建和启动。

安装docker-compose:

复制代码 代码如下:
curl -l https://github.com/docker/compose/release/download/1.6.0/docker-compose-`uname -s`-`uname -r` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose

使用docker compose管理多个容器,首先需要把容器写到它的配置文件中,默认配置文件名为docker-compose.yml,我们可以通过“-f”选项指定配置文件。

下面通过安装redmine来说明

将docker run创建容器的指令改造为docker compose的配置文件

postgresql容器创建和启动的命令为:

[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配置文件内容如下:

postgresql:
 image: sameersbn/postgresql:9.4-12
 environment:
 - db_name=readmine_production
 - db_user=redmine
 - db_pass=password 

redmine容器创建和启动的命令为:

复制代码 代码如下:
docker run --name redmine -d --link postgresql-redmine:postgresql --publish 10083:80 --env 'redmine_port=10083' sameersbn/redmine:3.2.0-4

它使用 sameersbn/redmine:3.2.0-4镜像创建了一个名字为redmine的容器,转换为docker compose配置文件内容如下:

redmine:
 image: sameersbn/redmine:3.2.0-4
 links:
 - postgresql:postgresql
 ports:
 - "10083:80"
 environment:
 - redmine_port=10083 

创建配置文件~/redmine/docker-compose.yml,合并内容如下:

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 

执行新容器组的创建和启动:

docker-compose up -d 

最后,通过http://ip10083就可以访问网站。

后续启动和停止就变得非常简单了:

停止命令:

docker-compose stop 

启动命令:

docker-compose start

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。