Docker Swarm 的部署与使用指南

前言

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


纠错
反馈