摘要:Docker在进行多服务部署和管理时通常会使用Docker Stack来解决大规模部署管理问题,Docker引擎在1.12 版本集成了Docker Swarm, 内置新的容器编排工具docker stack,通过提供期
Docker在进行多服务部署和管理时通常会使用Docker Stack来解决大规模部署管理问题,Docker引擎在1.12 版本集成了Docker Swarm, 内置新的容器编排工具docker stack,通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理,这些功能都封装在一个完美的声明式模型当中。
docker stack和docker-compose使用方式相同,但是为什么引入docker stack技术呢。
两者的使用方式,命令如下:
$ docker-compose -f docker-compose up
$ docker stack deploy -c docker-compose.yml somestackname
两机制都能操纵 compose.yml文件中定义的 services、volumes 、networks资源。
两者的不同点
docker stack 不支持 compose file中的“build”指令, 相比之下docker-compose可现场创建镜像,更适合迭代开发、测试和 快速验证原型。
docker-compose 不支持 compos版本3中 deploy配置节(定义适用于生产部署的配置), 这个deploy配置节专属于docker stack.
docker stack的能力来源自docker引擎原生支持,你不需要安装额外工具包去启动docker 容器堆栈(docker stack 是docker swarm的一部分)。
docker stack 支持与docker-compose 相似能力, 但是在Docker引擎内Go语言环境中运行的, 在使用docker stack命令之前你还必须创建一个swarm机器。
docker-compose和新命令docker stack commands都可以处理版本号为3的docker-compose.yml文件。对于版本号为2的文件,你不得不继续使用docker-compose. 如果你想升级,也不需要做太多的工作。
由于docker stack把docker compose的所有工作都做完了,因此可以肯定docker stack将占主导地位。这意味着docker-compose可能会被弃用,最终不会被支持。
然而,对于大多数用户来说,切换到使用docker stack既不困难,也不需要太多的开销。您可以在将docker compose从版本2升级到版本3的同时轻松完成。如果您是Docker新手,或正在选择用于新项目的技术,无论如何,请坚持使用docker stack deploy。
相关文章推荐
智能手机建站的优点是什么?网站页面布局有哪些关键点? 2022-01-10
2022年中国云计算面临的问题及发展前景预测分析2021-12-28
绿色智能基础设施连接可持续未来-IDCC2021万国数据第一代Smart DC发布会议程揭晓2021-12-27
阿里云:早期未意识到Apache log4j2漏洞情况的严重性 将强化漏洞管理2021-12-27
云计算开发:Python3-replace()方法详解2021-12-27