docker-compose 是 Docker 官方的开源项目,使用 python 编写,实现上调用了Docker 服务的 API 进行容器管理及编排,其官方定义为定义和运行多个 Docker 容器的应用;
docker compose 有两个比较重要的概念:
服务(service):
一个应用的容器,实际上可以包含若干个运行相同镜像的容器示例;
项目(project):
由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义 ,整个docker-compose.yml定义一个项目;
Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。通过 compose 可以方便的管理多个服务。
举个例子:
就比如一个乐团:
一般对于一个乐团来说不是由一个人组成的,而是由弦乐 、管乐、 打击乐三大部分互相配合组成的,而对于每一个部分来说有时由具有相同演奏功能的人组成的,而指挥这三个部分奏出优美音乐的就是指挥家,指挥家会在合适的时候指挥这三个部分演奏自己的声音;
在docker compose中,指挥家就相当于docker-compose.yml文件,“弦乐 、管乐、 打击乐”这三个部分就相当整个项目中的服务,而这一个个的服务又是由具有相同功能的容器组成!