什么是Docker Compose
- Docker Compose是一个能一次性定义和管理多个Docker容器的工具。
- Compose中定义和启动的每一个容器都相当于一个服务(service)
- Compose中能定义和启动多个服务,且它们之间通常具有协同关系
- 我们通常使用YAML文件来配置我们应用程序的服务,并且使用单个命令(docker-compose up),就可以创建并启动配置文件中配置的所有服务
如何安装Docker Compose
Windows与Mac: Docker for Mac与Docker for Windows自带docker-compose
Linux系统:
代码语言:javascript复制sudo curl -L https://github.com/docker/compose/releases/download/[版本号]/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod x /usr/local/bin/docker-compose
安装完成后使用 docker-compose version 查看版本
可以访问 https://github.com/docker/compose/releases 查看历史版本
安装后截图
Docker Compose文件配置与注意事项
Docker Compose file的配置项有非常多需要注意的点,如果一一赘述就相当于搬运官方文档了,这里标识几个经常使用的配置项,以供大家参考:
代码语言:javascript复制version:指定Docker Compose File版本号
services:定义多个服务并配置启动参数
volumes:声明或创建在多个服务中共同使用的数据卷对象
networks:定义在多个服务中共同使用的网络对象
configs:声明将在本服务中要使用的一些配置文件
secrets:声明将在本服务中要使用的一些秘钥、密码文件
x-***:自定义配置。主要用于复用相同的配置。
官方文档直通车:https://docs.docker.com/compose/compose-file/#service-configuration-reference
Docker Compose File 注意事项
Docker Compose File 的格式要求非常严格,一定需要注意的有:
- 配置项的缩进使用空格
- 注意配置项冒号后要添加空格
- 编写完Docker Compose File后可以使用docker-compose config 检查文件是否出错
Docker Compose 项目实例演示
Kafka运行环境搭建
这个项目的Docker File在昨天的文章中已经给大家展示过了,这里重新贴一次,让大家先有个大概印象。
使用Docker Compose 部署小型flask web 项目
- 首先准备好你的flask项目源码,并上传至云服务器上
- 将项目需要使用的类库导出 requirements.txt 备用
- 编写运行对应项目的Dockerfile,并构建出一个新的项目镜像(这步也可以不做,但是这里为了方便理清思路建议按步骤一步一步来)
- 按照项目需要将要启动的容器写成对应的服务
- 使用 docker-compose up -d运行服务
Docker Compose 与 Dockerfile 总结
关于Dockerfile与Docker Compose的两篇文章关于理论的描述比较少,大多都是实操的内容,如果你看到这里希望你能结合之前的文章动手实践一下,加深印象才能了解到关于Dockerfile和Dcoker compose 相关的难点。