docker-compose 与 docker stack 编排配置使用区别

1、docker-compose.yml文件指令配置上
Docker有个编排工具docker-compose,可以将组成某个应该的多个docker容器编排在一起,同时管理。同样在Swarm集群中,可以使用docker stack 将一组相关联的服务进行编排管理。

Docker stack 也是一个yaml文件,和一份docker-compose.yml文件差不多,指令也基本一致。但是与compose相比其不支持build、links和network_mode。Docker stack有一个新的指令deploy。

stack不支持的配置指令:

  • build
  • cgroup_parent
  • container_name
  • devices
  • tmpfs
  • external_links
  • links
  • network_mode
  • restart
  • security_opt
  • stop_signal
  • sysctls
  • userns_mode

Deploy是用来指定swarm服务部署和运行时的相关配置,并且只有使用docker stack deploy 部署swarm集群时才会生效。如果使用docker-compose up 或者docker-compose run时,该选项会被忽略。要使用deploy选项,compose-file中version版本要在3或3+。

2、适用场景上
Docker stack会忽略了“build”指令。 无法使用stack命令自动构建新镜像。 它是需要镜像是预先已经构建好的。 所以docker-compose更适合于开发场景,而stack更适合使用于服务部署

stack是包含在docker引擎内部,你不需要安装额外的工具包去启动docker 容器堆栈 docker stack 属于 docker swarm的一部分

docker-compose.yml 是基于第二版写的(在docker-compose.yml中指定version: “2”),而Docker stack是不支持的。必须使用最新版本,也就是version版本至少为3.然而Docker Compose对版本为2和3的文件都有可以处理。

3、推荐
https://vsupalov.com/difference-docker-compose-and-docker-stack/

posted @   比啾比啾  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示