1. Docker Compose简介与Docker Stack类

  • Docker Compose与Docker Stack类似,本篇文章主要阐述Docker Compose以单引擎模式(Single-Engine Mode)进行多容器应用的部署管理。(Docker Stack用于docker swarm集群编排不在本篇记录)
  • 单引擎(Single-Engine)模式指不包含在任何Swarm中的Docker节点,如果加入了Swarm集群,则切换为Swarm模式。

    2. Docker Compose

    2.1 安装 Docker Compose

  1. Docker Compose是Docker的工具,并没有集成到Docker内,因此,需要在安装了Docker之后再安装Docker Compose。

    2.2 Compose

  2. Docker Compose通过一个声明式的配置文件描述整个应用,从而简易部署的工具。这个文件是以yaml格式编写的(yaml是json的一个子集,因此也可以使用json)。

  3. Docker Compose模式使用的文件名是docker-compose.yml(也可以使用-f参数指定其他文件)。
  4. docker-compose.yml的一个简单样式(复制过去用不了的~): ```yaml version: “3” services: nginx: build: . command: python asb.py networks:
    • counter-net ports:
    • “80:80”
    • “443:443” volumes_from:
    • data: volume source: counter-vol target: /webroot redis: image: redis:3.2.3 networks:
    • counter-net ports:
    • “6379:6379”

networks: counter-net:

volumes: counter-vol: ```

  1. 前台启动命令docker-compose up &可以看到启动过程打印出来(docker-compose up -d后台运行);停止命令docker-compose down对应启动时是前台或后台运行,表现出具体过程打印或不打印。
  2. 需要注意的是,卷(volume,将容器内的代码目录映射到物理机)镜像是不会再停止、删除容器时删除。有助于下次启动过程减少时间。
  3. 查看docker compose服务内运行的进程(由于共享内核,进程池等机制,docker容器内部运行的进程必须依托到物理机,故可以在物理机看到容器内部的进程),命令docker-compose top可以查看到。