1、初始化Swarm集群
用于初始化一个Swarm集群,并将当前节点设置为Manager节点。
用法:docker swarm init --advertise-addr <Manager节点IP>
docker swarm init --advertise-addr 192.168.1.100
这会将当前节点初始化为Swarm集群的管理节点,并向其他节点广播IP 192.168.1.100。
2、将Worker节点加入Swarm集群
2.1 获取加入Swarm集群的工作节点令牌
docker swarm join-token worker
2.2获取加入Swarm集群的管理节点令牌
docker swarm join-token manager
2.3将一个Worker节点加入到Swarm集群
用法:docker swarm join --token <token> <Manager节点IP>:2377
docker swarm join --token SWMTKN-1-3t23f5f-vvjqz9sdgxlb12 192.168.1.100:2377
3、看节点状态
用法:docker node ls
docker node ls
更新节点的状态
用来更新Swarm集群中节点的可用性状态。
用法:docker node update --availability <availability> <node-name>
docker node update --availability drain worker-node-1
将worker-node-1节点设置为Drain状态,所有任务将被迁移到其他节点。
4、创建Swarm服务
用于创建一个新的Swarm服务。
用法:docker service create --name <service-name> --replicas <replicas> -p <port> <image>
docker service create --name web-service --replicas 3 -p 8080:80 nginx
使用nginx镜像创建一个名为web-service的服务,并将其副本数设置为3,映射容器的80端口到主机的8080端口。
5、查看服务
列出当前Swarm集群中所有的服务。
用法:docker service ls
docker service ls
6、查看服务的详细信息
用于查看特定服务的任务(容器)状态。
用法:docker service ps <service-name>
docker service ps web-service
7、更新服务
用于更新已有服务的配置,如镜像、端口、副本数等。
用法:docker service update --image <image> --replicas <replicas> <service-name>
docker service update --image nginx:latest --replicas 5 web-service
将web-service服务的镜像更新为nginx:latest,并将副本数扩展为5。
8、扩展或缩减服务副本数
用于动态调整服务的副本数。
用法:docker service scale <service-name>=<replicas>
docker service scale web-service=2 #web-service的副本数扩展到2
docker service ls
9、删除服务
用于删除Swarm中的服务。
用法:docker service rm <service-name>
docker service rm web-service #删除名为web-service的服务
10、查看Swarm集群的状态
docker info该命令提供有关Docker引擎的详细信息,包括Swarm集群的状态。
docker info
11、监控Swarm的日志
用于查看特定服务的日志。
用法:docker service logs <service-name>