Docker Compose容器自动编排工具

Docker Compose是官方的开源项目,用于快速编排Docker容器集群。它简化了多容器应用的配置和管理,通过YAML文件定义服务,并提供便捷的命令进行容器的生命周期管理。YAML文件支持数据序列化,定义服务、项目以及它们的依赖关系。Docker Compose区别于单一的Docker和Dockerfile,提供了服务和项目的概念,方便管理和部署多个容器组成的复杂应用。
摘要由CSDN通过智能技术生成

一、Docker Compose简介

Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。它是一个定义和运行多容器的docker应用工具。使用compose,你能通过YMAL文件配置你自己的服务,然后通过一个命令,你能使用配置文件创建和运行所有的服务。

二、Docker Compose 容器编排

● Docker Compose 前身是Fig,是一个定义及运行多个 Docker 容器的工具
● 使用 Docker Compose 不再需要使用 shell 脚本来启动容器
● Docker Compose 非常适合组合使用多个容器进行开发的场景
● 通过Docker Compose可以使用YML文件来配置应用程序所需要的的所有服务
YML文件
YAML是一种标记语言很直观的数据序列化格式,非常适合用来表达或者编辑数据结构、各种配置文件、文件大纲等,例如:许多电子邮件标题格式和YAML非常接近
● 以下是文件格式以及编写注意事项

  1. 不支持制表符Tab键缩进,需要使用空格缩进
  2. 通常开头缩进2个空格
  3. 字符后缩进一个字符,如冒号、逗号、横杆
  4. 用#号注释
  5. 如果包含特殊字符用单引号引起来
  6. 布尔值必须用引号括起来

三、Compose的概念

● 服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
● 项目(project):由一组关联的应用容器组成的一个完成业务单元,在docker-compose.yml中定义。
这些可以理解为:

● 服务(service)就是在它下面可以定义应用需要的一些服务,代表配置文件中的每一项服务。每个服务都有自己的名字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等,即以容器为粒度,用户需要Compose所完成的任务。
● 项目(project)代表用户需要完成的一个项目,即是Compose的一个配置文件可以解析为一个项目,即Compose通过分析指定配置文件,得出配置文件所需完成的所有容器管理与部署操作。
Compose的默认管理对象时项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

四、docker,dockerfile与docker-compose区别

● docker和操作系统无关的一个沙箱容器,宿主机安装的什么操作系统和其本身无关,在它基础上可以制作各种系统类型的基础服务

● Dockerfile是把我们手工安装docer镜像的过程变成一个配置文件的方式运行,这样每次不用一步步手敲命令去安装了,而只是需要一个配置文件运行既可生成一个镜像

● docker-compos提供了服务和项目的概念,这样一个服务可以配置多个项目,这个服务是多个项目的集合体,启动和关闭都相对一个一个项目的启动要方便很多

五、Docker Compose 配置常用字段

字段 说明
build dockerfile context 指定Dockerfile文件名构建镜像上下文路径
image 指定镜像
command 执行命令,覆盖默认莫名
container name 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
deploy 指定部署和运行服务相关配置,只能在Swarm模式使用
environment 添加环境变量
networks
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值