什么是docker compose

compose是定义和运行由多个容器(multi container)组成的应用的工具。

compose中有两个概念
server: 一个应用的容器。
project: 由一组相关的应用容器组成的整个业务项目。

为什么需要docker compose

我们在开发一个project时,这个项目除了app service,一般还需要database,cache等其他的service,那么就会需要多个container(容器)来运行这些service。如果我们对每个service,都单独使用docker CLI,那是多么麻烦的一件事。

利用compose,我们可以只使用一个yaml文件来配置project里的所service,然后通过一条命令,就可以根据yaml里的配置,创建容器,来运行所有的service。

Gz3R0I.png

使用compose

三个步骤:

  1. 为app service编写Dockerfile
  2. 在文件docker-compose.yml里定义所有的service,这样这些service可以在一个隔离的环境中,一起运行。
  3. 执行docker-compose up后,compose会启动运行整个Project。

一个docker-compose.yml的示例。

version: '2.0'
services:
  web:
    build: .
    ports:
    - "5000:5000"
    volumes:
    - .:/code
    - logvolume01:/var/log
    links:
    - redis
  redis:
    image: redis
volumes:
  logvolume01: {}

常用命令

compose命令的对象,默认是project,也可以指定project中的service。
基本格式:

docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS...]

Compose命令说明

模板文件

Compose模板文件

参考资料

Docker Compose 项目

Overview of Docker Compose

Last modification:April 15th, 2020 at 08:33 am
如果觉得我的文章对你有用,请尽情赞赏 🐶