前言
Docker Swarm 是 Docker 官方提供的容器编排工具,它可以将多个 Docker 主机组成一个集群,实现容器的自动化部署、扩缩容、负载均衡等功能。本文将介绍 Docker Swarm 的部署与使用指南,帮助读者快速上手 Docker Swarm。
环境准备
在开始使用 Docker Swarm 之前,需要准备以下环境:
- Docker CE 17.06 或以上版本
- 多台 Linux 主机,且它们可以相互通信
部署 Docker Swarm
初始化 Swarm
在其中一台 Linux 主机上执行以下命令,初始化 Swarm:
$ docker swarm init --advertise-addr <MANAGER-IP>
其中 <MANAGER-IP>
是当前主机的 IP 地址。执行该命令后,该主机将成为 Swarm 集群的管理节点。
加入 Swarm
在其他 Linux 主机上执行以下命令,将它们加入到 Swarm 集群中:
$ docker swarm join --token <TOKEN> <MANAGER-IP>:<PORT>
其中 <TOKEN>
是在初始化 Swarm 时生成的 token,<MANAGER-IP>
是管理节点的 IP 地址,<PORT>
是管理节点的监听端口。
部署服务
在 Swarm 集群中,可以通过服务(Service)的方式来部署容器。服务可以指定容器的数量、镜像、端口等属性,Swarm 会自动将服务的容器分配到集群中的各个节点上。
下面是一个示例,通过服务部署一个 Nginx 容器:
$ docker service create --replicas 3 --name my-nginx -p 80:80 nginx
--replicas 3
指定容器数量为 3--name my-nginx
指定服务名称为 my-nginx-p 80:80
将容器的 80 端口映射到主机的 80 端口nginx
是容器镜像的名称
执行该命令后,Swarm 会自动将该服务的容器分配到集群中的各个节点上。
扩缩容服务
在 Swarm 集群中,可以通过以下命令来扩缩容服务:
$ docker service scale my-nginx=5
该命令将 my-nginx 服务的容器数量扩展到 5 个。
更新服务
在 Swarm 集群中,可以通过以下命令来更新服务:
$ docker service update --image nginx:1.19.0 my-nginx
该命令将 my-nginx 服务的容器镜像更新为 nginx:1.19.0。
删除服务
在 Swarm 集群中,可以通过以下命令来删除服务:
$ docker service rm my-nginx
该命令将删除 my-nginx 服务的所有容器。
总结
本文介绍了 Docker Swarm 的部署与使用指南,包括初始化 Swarm、加入 Swarm、部署服务、扩缩容服务、更新服务和删除服务等操作。通过学习本文,读者可以快速上手 Docker Swarm,并使用它来管理容器。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658d3259eb4cecbf2d3246e2