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/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性