Docker Compose管理多个容器提供组合服务

 yhawaii   2017-10-23 18:05     0 条评论

Docker Compose

0. 简介

ps: fig废弃之后,Docker官方使用Docker Compose进行了替代。

Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Docker Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作。TODO: 举个常见的例子,比如说我需要

一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose,不再需要使用shell脚本来启动容器。在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器。常见的命令列表如下:

build 构建或重建服务

help 命令帮助

kill 杀掉容器

logs 显示容器的输出内容

port 打印绑定的开放端口

ps 显示容器

pull 拉取服务镜像

restart 重启服务

rm 删除停止的容器

run 运行一个一次性命令

scale 设置服务的容器数目

start 开启服务

stop 停止服务

up 创建并启动容器

1. 安装

详细的安装文档,可参考官网的描述。Docker compose支持Windows、OSX和64位的Linux系统。

比如,我使用的是系统是Ubuntu 16.04,安装步骤如下:

1、 安装最新的release版本1.16.1的命令如下:

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2、 修改二进制可执行文件的权限

sudo chmod +x /usr/local/bin/docker-compose

3、测试安装是否成功:

输入以下命令:

docker-compose --version

假如出现类似如下的提示,则表明你已成功安装了Docker Compose:

docker-compose version 1.16.1, build 6d1ac21

2. 配置文件

Docker Compose的配置文件是docker-compose.yml。我们先切换到用户目录下,并创建一个compose-test目录;切换到compose-test目录,创建一个docker-compose.yml文件,其内容如下:

wordpress:  
    image: "wordpress:latest"  
    ports:  
        - "8080:80"  
    links:  
        - db:mysql  

db:  
    image: "mysql:latest"  
    expose:  
        - "3306"  
    volumes:
        - ./db:/var/lib/mysql
    environment:  
        # MYSQL_USER: root
        MYSQL_ROOT_PASSWORD: secret
        MYSQL_USER: wordpress
        MYSQL_PASSWORD: password
        MYSQL_DATABASE: wordpress

它表明:

  1. 定义了两个服务分别叫做wordpressdb
  2. 使用image定义每个服务的镜像名
  3. MySQL容器的环境变量定义在environment
  4. MySQL容器使用linkswordpress容器链接
  5. 使用ports实现端口转发

3. 启动服务

使用如下命令,启动组合服务:

docker-compose up -d

输入以下命令,验证服务是否启动:

docker-compose ps

输出结果如下,则表示组合服务已成功启动:


Name Command State Ports ----------------------------------------------------------------- tmp_db_1 docker-entrypoint.sh mysqld Exit 0 tmp_wordpress_1 docker-entrypoint.sh apach ... Exit 0

查询服务日志:

docker-compose logs

4. 停止服务

使用如下命令,停止组合服务:

docker-compose stop
本文地址:https://www.yhawaii.net/docker-compose-mange-components.html
版权声明:本文为原创文章,版权归 yhawaii 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情