zoukankan      html  css  js  c++  java
  • Docker Compose

    假设我们有一百个容器,不可能一个一个去操作吧,docker-compose 是一个命令工具,可以用来批量操作容器

    1. 安装 docker-compose 命令

    [root@localhost ~]$ curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    [root@localhost ~]$ chmod 755 /usr/local/bin/docker-compose    # 添加可执行权限
    [root@localhost ~]$ docker-compose version                     # 查看docker-compose命令的版本
    docker-compose version 1.17.0-rc1, build a0f95af               # docker-compose命令区分 version 1 和 version 2 版本
    docker-py version: 2.5.1                                       # version 2 版本支持更多的指令,version 1 将来会被弃用
    CPython version: 2.7.13

    2. 编辑 yaml 文件,该文件用于定义要被 docker-compose 操作的容器

    [root@localhost ~]$ vim docker-compose.yml    # 文件名是固定的
    version: "2"                           # 指定使用docker-compose命令的version2版本,不指定默认使用version1
    services:                              # 指定要操作的services(服务),所有要操作的容器都要写在services下
      app1:                                # 指定容器名(这里我操作两个容器,app1和下面的app2)
        image: centos                      # 指定容器要使用的镜像,这个镜像必须是本地已经下载好了的
        ports:                             # 指定宿主机与容器的端口映射
          - "80:80"
        networks:                          # 指定容器要使用的网络,这里使用的net1要跟最下面的network相对应,最下面的network用来指定使用哪种网络模式
          - "net1"
        volumes:                           # 指定宿主机的/data目录挂载到容器的/data目录
          - /data:/data
        entrypoint: tail -f /etc/passwd    # 防止执行完docker-compose命令后容器就停止运行 app2: image: centos_with_nginx networks:
    - "net2" volumes: - /data:/data entrypoint: tail -f /etc/passwd networks: # 指定容器的网络模式 net1: # 指定app1容器的网络模式,要跟上面的networks对应 driver: bridge net2: # 指定app2容器的网络模式,要跟上面的networks对应 driver: bridge

    3. 使用 docker-compose 批量操作容器

    [root@localhost ~]$ docker-compose up -d    # 批量生成容器,-d 表示在后台运行
    [root@localhost ~]$ docker-compose ps       # 批量查看容器运行状态
    [root@localhost ~]$ docker-compose stop     # 批量停止运行容器
    [root@localhost ~]$ docker-compose rm -f    # 批量删除已经停止运行的容器,-f 跳过确认
    [root@localhost ~]$ docker-compose --help   # 更多批量操作命令可以通过--help来查看

         

  • 相关阅读:
    SPOJ GSS4 Can you answer these queries IV ——树状数组 并查集
    SPOJ GSS3 Can you answer these queries III ——线段树
    SPOJ GSS2 Can you answer these queries II ——线段树
    SPOJ GSS1 Can you answer these queries I ——线段树
    BZOJ 2178 圆的面积并 ——Simpson积分
    SPOJ CIRU The area of the union of circles ——Simpson积分
    HDU 1724 Ellipse ——Simpson积分
    HDU 1071 The area ——微积分
    HDU 4609 3-idiots ——FFT
    BZOJ 2194 快速傅立叶之二 ——FFT
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10198617.html
Copyright © 2011-2022 走看看