ASP.NET Core使用Docker-Stack服务编排实现集群应用部署实战演练
一、课程介绍
我们都知道docker有docker-compose容器编排很方便构建和部署我们的单机应用容器镜像,那么在分布式集群中我们可以通过docker-stack来实现集群多容器的快速部署以及管理。在上一节分享课程《ASP.NET Core使用Docker-Swarm集群部署实现负载均衡实战演练》,我们学习的时候是采最原始的 docker service create的手工方式来一个个创建我们集群中的要部署运行的容器服务,如果是大规模场景下的多服务部署和管理是一件很难的事情。幸运的是,Docker Stack 为解决该问题而生,本次分享课程阿笨将分享如何快速的采用Docker-Stack服务编排实现集群应用部署!
1.1、本次分享课程适合人群如下:
1)、本课程一定需要具备Docker基础知识。(零基础学者止步慎入!)
2)、学习和了解ASP.Net Core跨平台开发技术。
3)、喜欢阿笨分享的干货课程童鞋们。本课程不是零基础教学,侧重点主要是讲解Docker Swarm与ASP.NET Core实战运用,大家务必根据自身的实际情况进行选择学习。
如果您在学习过程中遇到任何的课程问题,请先私下直接找阿笨老师进行在线的沟通和交流。谢谢大家的理解和支持,预祝大家学习快乐!
如果您是一个开发老鸟,那么本次课程完全不建议您进行学习!
1.2、一句话总结今天我们学习达到的目标
如何使用Docker-Stack服务编排部署高可用ASP.NET Core负载均衡集群容器环境应用。
如果您同样对本次分享《ASP.NET Core使用Docker-Stack服务编排实现集群应用部署实战演练》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
二、什么是Docker Stack集群服务编排
Stack 是 Docker 原生的部署和管理多服务应用的解决方案。stack 是构成特定环境中的 service 集合, 它是自动部署多个相互关联的服务的简便方法,而无需单独定义每个服务。stack file 是一种 yaml 格式的文件,类似于 docker-compose.yml 文件,它定义了一个或多个服务,并定义了服务的环境变量、部署标签、容器数量以及相关的环境特定配置等。
在Docker单容器环境中,我们可以使用 Docker Compose 来编排多个服务实现部署。而在Docker集群容器环境中,则通过Docker Stack我们只需对已有的 docker-compose.yml 配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。
Docker Stack和Docker Compose区别
Docker stack会忽略了“构建”指令,无法使用stack命令构建新镜像,它是需要镜像是预先已经构建好的。 所以docker-compose更适合于开发场景;
三、Docker Stack常用命令
docker stack services命令用于列出堆栈中的服务。列出作为指定堆栈的一部分运行的服务。 必须以管理员节点为目标运行此命令。
docker stack deploy 部署新的堆栈或更新现有堆栈
docker stack deploy -c docker-compose.yml $yourstacknamedocker stack ls 列出现有堆栈
docker stack ps 列出堆栈中的任务
docker stack rm 删除一个或多个堆栈
docker stack services 列出堆栈中的服务
四、Docker-Stack服务编排实现ASP.NET Core集群应用环境
五、总结
Docker越来越成熟,功能也越来越强大。使用Dokcer Stack做服务集群也是非常的方便!Docker Stack 通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理,这些功能都封装在一个完美的声明式模型当中。
简而言之,Docker Compose 适用于开发和测试。Docker Stack 则适用于大规模场景和生产环境。 我们使用Docker Stack 实现Docker Swarm一站式部署容器集群!
希望本次分享课程能够让大家有所收获和帮助!最后送大家一句话:希望大家在.NET Core的学习道路上一直跟着阿笨坚持下去。