docker swarm 集群创建

1,目的:

通过docker swarm 工具将一台或者多台安装了docker的服务器组成一个完整的集群,该集群中的node节点可以通过Leader节点管理。在使用docker stack部署时,可以将容器自动分发到合适的节点上。

2,服务器准备:

192.168.85.129 docker1

192.168.85.130 docker2

修改主机名,配置hosts,配置完成后暂退再连接,主机名就会生效。

复制代码
hostnamectl set-hostname docker1
echo "192.168.85.129 docker1" >> /etc/hosts
echo docke1 > /etc/hostname
hostname -i docker1

hostnamectl set-hostname docker2
echo "192.168.85.130 docker2" >> /etc/hosts
echo docke2 > /etc/hostname
hostname -i docker2

3,在docker1上创建一个swarm 集群

复制代码
docker swarm init

或者:

docker swarm init --advertise-addr 192.168.85.129

如果只有一个leader 节点,可以不加参数,但是有多个的话,为了区分IP,建议加上。

这里提示了两条命令:

1,将其他服务器加入为工作节点:

复制代码
docker swarm join \
    --token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-a7luanffniduhrauc7cmrs9nh \
    192.168.85.129:2377

2,将其他服务器加入为管理节点:

复制代码
docker swarm join-token manager

docker swarm join \
    --token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-6kkh0gq26otfot5ud4sbvx8wq \
    192.168.85.129:2377

4,将docker2作为工作节点加入到docker1的swarm集群中:

复制代码
docker swarm join \
>     --token SWMTKN-1-1u7cz417zw3x7pgopgmxelgzme03h5rid4erph2pq2smqq108v-a7luanffniduhrauc7cmrs9nh \
>     192.168.85.129:2377

5,在leader节点上查看集群状态:

复制代码
docker node ls

集群创建成功。

6,退出swarm集群:

复制代码
docker swarm leave --force

注意:leader节点离开后,如果是单个leader节点,该集群将无法管理。

7,刷新docker swarm令牌

docker swarm join 后的参数令牌有过期时长,后面再加入的时候,就需要重新生成令牌:

加入到worker节点:

复制代码
docker swarm join-token  --rotate worker

加入到leader节点:

复制代码
docker swarm join-token manager
相关推荐
_Jimmy_10 小时前
Nacos的三层缓存是什么
java·缓存
朝新_10 小时前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
百***920210 小时前
java进阶1——JVM
java·开发语言·jvm
迦蓝叶11 小时前
RDF 与 RDFS:知识图谱推理的基石
java·人工智能·数据挖掘·知识图谱·语义网·rdf·rdfs
百锦再11 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
yaoxin52112311 小时前
238. Java 集合 - 使用 ListIterator 遍历 List 元素
java·python·list
爱分享的Shawn_Salt11 小时前
IntelliJ IDEA初始化指南
java·ide·intellij-idea
Dxxyyyy11 小时前
零基础学JAVA--Day32(ArrayList底层+Vector+LinkedList)
java·开发语言
Pluchon11 小时前
硅基计划6.0 柒 JavaEE 浅谈JVM&GC垃圾回收
java·jvm·数据结构·java-ee·gc
whatever who cares11 小时前
在Java/Android中,List的属性和方法
android·java