重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

云计算核心技术Docker教程:docker Stack介绍

时间:2020-09-17 21:40:08 作者:重庆seo小潘 来源:
Docker在进行多服务部署和管理时通常会使用Docker Stack来解决大规模部署管理问题,Docker引擎在1.12 版本集成了Docker Swarm, 内置新的容器编排工具docker stack,通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理,这些功能

Docker在进行多服务部署和管理时通常会使用Docker Stack来解决大规模部署管理问题,Docker引擎在1.12 版本集成了Docker Swarm, 内置新的容器编排工具docker stack,通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理,这些功能都封装在一个完美的声明式模型当中。

云计算核心技术Docker教程: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。