Docker Swarm

2022-10-27 15:15:24 浏览数 (1)

主机 IP

主机名

角色

192.168.1.10

master

manager

192.168.1.20

node01

node

192.168.1.30

node01

node

安装 Docker

代码语言:javascript复制
yum install docker-ce -y

安装 swarm

代码语言:javascript复制
docker pull swarm

创建swarm

代码语言:javascript复制
# 执行完成后,该节点会自动加入到 swarm 集群,并创建一个 token
docker swarm init --advertise-addr 192.168.1.10

docker node ls

# 查看 token
docker swarm join-token manager

添加工作节点到集群中

代码语言:javascript复制
docker swarm join --token ******** 192.168.1.10

查看

代码语言:javascript复制
# 查看节点状态,active是在线,drain是下线
docker node ls

# 把 node01 节点下线,该节点上的容器会被迁移到其他节点上
docker node update --availability drain node01

# 删除 node01 节点
docker node rm --force node01

# 重新上线 node01 节点
docker node update --availability active node01

在 swarm 集群中部署服务

代码语言:javascript复制
# 先创建一个网络
docker network create -d overlay nginx

# 创建 nginx 容器
docker service create --replicas 1 --network nginx --name mynginx -p 80:80 nginx

docker service ls

# 查看服务运行在哪个节点上
docker service ps mynginx

# 把 nginx 容器动态扩展到5个
docker service scale mynginx=5

docker service update --replicas 5 mynginx

# 动态缩容
docker service scale mynginx=2

# 删除服务
docker service rm mynginx

把 manager 节点降为工作节点

代码语言:javascript复制
# 把 manager 节点降级
docker node demote manager

# 提升一个 work 节点为 manager
docker node update node02

0 人点赞