• 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来查看

         

  • 相关阅读:
    关于工作习惯的一点思考
    BulkSqlCopy 批量导入数据(Ef支持)
    记录下最近项目中常用到的SQL语句
    对象化前端表单(Form)提交
    Python描述符 (descriptor) 详解
    Python装饰器之 property()
    Python魔法方法之属性访问 ( __getattr__, __getattribute__, __setattr__, __delattr__ )
    Python魔法方法总结及注意事项
    面向对象编程(二)
    面向对象编程(一)
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10198617.html
Copyright © 2020-2023  润新知