Docker之Docker Swarm调度容器

  • 用户可通过docker node promote将一个节点提升为管理节点;也可以通过docker node demote将一个管理节点降级为工作节点。

在这里插入图片描述

Swarm核心概念:

  • 服务(service):服务是为了支持编排所提出的概念,它是一系列复杂容器环境相互协作的统称。一个服务的声明包含容器的启动方式、副本数、环境变量、存储、配置、网络等一系列配置。用户用过Swarm将声明的服务实现。

服务分为全局服务和副本服务:

全局服务:每个工作节点都会运行一个任务

副本服务:按照指定副本数在集群中调度

  • 任务:集群中最小的调度单位,即一个运行的应用容器。

  • 服务外部访问:Swarm中支持入口负载均衡的映射模式。该模式每个服务都会被分配一个公开端口,该端口在集群中任意节点都可以访问到,并被保留给该服务。

搭建Swarm集群:

  • Docker版本大于1.12,推荐最新稳定版

  • 主机需要开放2377、4789、7946端口

原本我应该通过3个管理节点,若干工作节点来搭建集群,但是原谅我的本的性能,所以只能搭建一管理节点二工作节点的集群,但是并不妨碍讲解。

第一步:主备三台装有Docker引擎的主机,这点不说了,Docker搭建可以看我其他文章有这个。

第二步:初始化集群(1.12版本后已经默认集成到Docker中)

  • 在管理节点上,通过以下命令初始化集群

  • 如果多网卡需要加–advertise-addr参数指定网卡

docker swarm init --advertise-addr 192.168.10.3

  • 节点加入集群需要用到以下信息

Swarm initialized: current node (hgya55eyardntljupfmpxsw3s) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-457a1eursgbfc5m6lnxz224w6izmsdq82cv8rwfnj8ac6eujhb-5ph3idc72q66tpbaaic5bc6k7 192.168.10.3:2377

To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

在这里插入图片描述

第三步:加入工作节点到集群(两个工作节点都要加入)

docker swarm join --token SWMTKN-1-457a1eursgbfc5m6lnxz224w6izmsdq82cv8rwfnj8ac6eujhb-5ph3idc72q66tpbaaic5bc6k7 192.168.10.3:2377

第四步***:如果加入管理节点到集群(如果你想有多个管理节点看这步,单节点跳过即可)

  • 在管理节点上运行以下命令,然后想成为管理节点的主机上输入显示的结果即可

docker swarm join-token manager

第五步:查看节点

docker node ls

  • 可查看所有节点,带星号为管理节点

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION

h55mmpjvnd3uh1jrkopuas400 centos7 Ready Active 20.10.7

hgya55eyardntljupfmpxsw3s * centos7 Ready Active Leader 20.10.7

y3ymp2sis7xwezzuhyhhy4h64 centos7 Ready Active 20.10.7

  • 通过docker info可以查看集群信息,内容太多就不复制了。

  • 如果想看的更明显,可以将主机名改成节点名,我忘了。。。

  • 到此,一个集群算搭建完成。

使用Swarm:

Swarm中部署服务通常用两种方式:

一.通过docker service命令创建

  • 通过docker service命令可以查看命令用法:

docker service

Usage: docker service COMMAND

Manage services

Commands:

create Create a new service

inspect Display detailed information on one or more services

logs Fetch the logs of a service or task

ls List services

ps List the tasks of one or more services

rm Remove one or more services

rollback Revert changes to a service’s configuration

scale Scale one or multiple replicated services

update Update a service

Run ‘docker service COMMAND --help’ for more information on a command.

  • 创建一个服务:

docker service create --replicas 1 --name nginx nginx:1.16.1

  • 查看服务

docker service ls

  • 删除服务

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
1347487)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值