Docker Compose v3
和 v2
模板文件都采用yaml格式,但是语法上存在一定差距
首先,使用version: "3"
或 version: "3.1"
(Docker 1.13.1) 作为版本声明
其次,由于 Swarm mode 中网络的特殊性,Compose模板中一些声明比如 expose
和 links
会被忽略。注意:不能再使用 link 定义的网络别名来进行容器互联,可以使用服务名连接。
另外, volumes_from
不再支持,只能使用命名数据卷来实现容器数据的持久化和共享;
v3 中引入了 deploy
指令,可对Swarm mode中服务部署的进行细粒度控制,包括
resources
:定义cpu_shares
,cpu_quota
,cpuset
,mem_limit
,memswap_limit
等容器资源控制。(v1/v2中相应指令不再支持)mode
:支持global
和replicated
(缺省) 模式的服务;replicas
:定义replicated
模式的服务的复本数量placement
:定义服务容器的部署放置约束条件update_config</