Docker Compose浅析

什么是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系统:

1
2
3
4
5
6
7
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的配置项有非常多需要注意的点,如果一一赘述就相当于搬运官方文档了,这里标识几个经常使用的配置项,以供大家参考:

1
2
3
4
5
6
7
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 项目
  1. 首先准备好你的flask项目源码,并上传至云服务器上

  2. 将项目需要使用的类库导出 requirements.txt 备用

  3. 编写运行对应项目的Dockerfile,并构建出一个新的项目镜像(这步也可以不做,但是这里为了方便理清思路建议按步骤一步一步来)

  1. 按照项目需要将要启动的容器写成对应的服务

  1. 使用 docker-compose up -d运行服务

Docker Compose 与 Dockerfile 总结

关于Dockerfile与Docker Compose的两篇文章关于理论的描述比较少,大多都是实操的内容,如果你看到这里希望你能结合之前的文章动手实践一下,加深印象才能了解到关于Dockerfile和Dcoker compose 相关的难点。

煌金 wechat
扫描关注公众号,回复「1024」获取为你准备的特别推送~
  • 本文作者: 煌金 | 微信公众号【咸鱼学Python】
  • 本文链接: http://www.xianyucoder.cn/2019/03/29/Docker-Compose/
  • 版权声明: 本博客所有文章除特别声明外,均采用 许可协议。转载请注明出处!
  • 并保留本声明和上方二维码。感谢您的阅读和支持!