美文网首页
使用 Docker Compose 管理多个容器

使用 Docker Compose 管理多个容器

作者: Impassable_time | 来源:发表于2018-07-25 10:57 被阅读0次

    使用 Docker Compose 管理多个容器

    • ** 学习Docker的过程中,会发现,当容器之间存在依赖关系的时候,会出现启动先后顺序的问题,还有多个容器同时启动,需要打多条命了,显得非常繁琐。使用Docker Compose , 可以做到一键启动多个容器。**

    • ** Docker Compose 是一个用来定义和运行的复杂应用的Docker工具,使用Compose,你可以在一个文件中,定义多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作。

      • github.com/docker/compose **

    ** 一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose , 不在需要使用 shell脚本来启动容器,在配置文件中,所有的容器通过 service 来定义,然后使用 docker-compose 脚本来启动、停止和重启应用,和应用中的服务以及所有依赖服务的容器.**

    完整的命了列表如下:

    命令 说明
    build 构建活重建服务
    help 命令帮助
    kill 杀掉容器
    logs 显示容器的输出内容
    port 打印绑定的开放端口
    ps 显示容器
    pull 拉去服务镜像
    restart 重启服务
    rm 删除停止的容器
    run 运行一个一次性命令
    scale 设置服务器的容器数目
    start 开启服务
    stop 停止服务
    up 创建并启动容器

    参考 https://docs.docker.com/compose/install/。你能运行Compose在OSX和64位Linux上。当前不支持Windows操作系统。

    ** 安装Docker Compose **

    curl -L https://github.com/docker/compose/releases/download/1.4.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    chmod  777  /usr/local/bin/docker-compose
    

    ** 配置文件 **
    1、Compose的配置文件是 docker-compose.yml。让我们看看下面这个文件:

    mysqldb:
    image:[classroom.example.com:5000/]mysql
    environment:
    MYSQL_DATABASE:sample
    MYSQL_USER:mysql
    MYSQL_ROOT_PASSWORD:supersecret
    mywildfly:
    image:[classroom.example.com:5000|arungupta]/wildfly-mysql-javaee7
    links:
    - mysqldb:db
    ports:
    - 8080
    

    ** 说明: **
    a、定义了两个服务,分别叫 mysqldbmywildfy
    b、使用 image 定义了每个服务器的镜像名
    c、MySQL容器的环境变量定义在 environment
    d、MySQL容器使用links和WildFly容器链接
    e、使用ports使用端口转发

    ** 启动服务 **
    1、如果你从互联网运行,将docker-compose-internet.yml 保存为docker-compose.yml
    2、如果你使用教师给的镜像,将docker-compose-instructor.yml 保存为 docker-compose.yml
    3、使用下面的命令,所有的服务将使用后台模式被动启动

    docker-compose up -d
    

    ** 显示的输出如下: **
    Creating attendees_mysqldb_1... Creating attendees_mywildfly_1...
    使用-f指定代替的compose文件。
    使用-p指定代替compose文件所在的目录。

    ** 验证服务是否启动 **
    docker-compose ps
    输出结果

    这里提供了一个整合的列表显示所有启动的服务和容器。

    同时,通常使用docker ps命令验证应用的容器,和在Docker主机运行的其他容器。

    • 查询服务器日志。
    • 验证应用
    • 扩展服务
      你可以像这样扩展服务:
    docker-compose scale mywildfly=4
    Creating and starting 2... done
    Creating and starting 3... done
    Creating and starting 4... done
    

    检查日志:

    docker-compose logs
    

    检查运行的实例:

    docker-compose ps
    

    Name Command Start Ports

    相关文章

      网友评论

          本文标题:使用 Docker Compose 管理多个容器

          本文链接:https://www.haomeiwen.com/subject/jlqpmftx.html