Docker Swarm 是 Docker 官方提供的容器编排和集群管理工具,用于将多个 Docker 主机组合成一个虚拟的 Docker 集群。Swarm 允许你在集群中部署和管理容器应用程序,提供高可用性和横向扩展的能力。

以下是一些 Docker Swarm 的基本概念和操作:

1. 初始化 Swarm:
   在创建 Swarm 集群之前,首先需要选择一个节点作为 Swarm Manager,并在该节点上初始化 Swarm。使用以下命令:
   docker swarm init --advertise-addr <manager-ip>

   <manager-ip> 是 Swarm Manager 的 IP 地址。运行命令后,你将获得一个加入 Swarm 集群的命令,可以在其他节点上运行。

2. 加入节点:
   在其他节点上运行之前获得的加入命令,将它们加入到 Swarm 集群中。例如:
   docker swarm join --token <token> <manager-ip>:2377

   <token> 是在初始化 Swarm 时生成的加入令牌。

3. 查看节点:
   使用以下命令查看 Swarm 集群中的节点列表:
   docker node ls

   这将显示节点的 ID、状态、角色等信息。

4. 部署服务:
   在 Swarm 集群上使用 docker service create 命令可以部署一个服务。例如:
   docker service create --replicas 3 -p 80:80 --name web nginx

   这将创建一个名为 web 的服务,使用 Nginx 镜像,运行 3 个副本,并将主机的 80 端口映射到服务的 80 端口。

5. 查看服务:
   使用以下命令查看 Swarm 集群中的服务列表:
   docker service ls

   这将显示服务的名称、ID、副本数等信息。

6. 扩展和缩减服务:
   使用 docker service scale 命令可以扩展或缩减服务的副本数量:
   docker service scale web=5

   这将将名为 web 的服务的副本数量扩展为 5 个。

7. 删除服务:
   使用 docker service rm 命令可以删除一个服务:
   docker service rm web

   这将删除名为 web 的服务。

Docker Swarm 提供了高可用性、故障转移、负载均衡等特性,使得在多个节点上部署和管理容器应用变得更加容易。Swarm 还支持与 Docker Compose 结合使用,可以使用 docker stack 命令从 Compose 文件中部署整个应用堆栈。

请注意,Docker Swarm 在 Docker 1.12 及更高版本中被集成到 Docker 引擎中。


转载请注明出处:http://www.zyzy.cn/article/detail/13397/Docker