Docker Swarm 入门手册及运维实战

随着云计算的发展,越来越多的企业开始选择使用 Docker 作为应用容器化的工具。而对于那些需要部署大规模应用系统的企业来说,Docker Swarm 是一款非常实用的容器编排工具。本文将为大家介绍 Docker Swarm 的入门教程及运维实战经验。

Docker Swarm 简介

Docker Swarm 是 Docker 容器集群管理工具,旨在为企业提供一个简单易用的容器编排和管理平台。Docker Swarm 可以将多台主机组成一个集群,并在这个集群内部署和管理容器。

Docker Swarm 主要由以下组件组成:

  • Manager 节点:Swarm 集群的管理节点,负责整个集群的控制和管理。
  • Worker 节点:Swarm 集群的工作节点,负责运行容器和提供服务。

Docker Swarm 入门教程

1. 安装 Docker

在开始使用 Docker Swarm 之前,需要先安装 Docker 环境。在本示例中,我们使用 Ubuntu 操作系统来演示,下面是安装 Docker 的步骤:

# 安装 Docker
curl -sSL https://get.docker.com | sh

# 添加当前用户到 Docker 用户组中
sudo usermod -aG docker $USER

# 重启 Docker 服务
sudo systemctl restart docker

2. 初始化 Swarm

安装好 Docker 后,我们可以使用 docker swarm init 命令来初始化 Swarm:

# 初始化 Swarm
docker swarm init

初始化后,我们就可以使用 docker swarm 命令来管理 Swarm 集群了。例如,使用 docker node ls 命令查看 Swarm 集群节点:

# 查看 Swarm 节点
docker node ls

3. 部署服务

在 Swarm 中,我们可以使用 docker service 命令来部署容器服务。例如,使用以下命令来部署一个 Nginx 服务:

# 部署 Nginx 服务
docker service create \
    --name my-nginx \
    --replicas 3 \
    --publish published=80,target=80 \
    nginx

上述命令将创建一个名为 my-nginx 的服务,并复制 3 个实例。这里使用 --publish 参数将容器的 80 端口映射到主机的 80 端口。

4. 手动调度容器

在实际项目中,我们可能需要手动调度容器。通过 docker node 命令,我们可以给 Swarm 集群的节点打标签,从而实现手动调度。例如,我们使用以下命令来给一个节点打上 beta 标签:

# 给节点打标签
docker node update --label-add beta=true node-id

然后,我们可以使用以下命令来在打上 beta 标签的节点上启动一个容器:

# 在指定节点上启动容器
docker service create \
    --name my-nginx \
    --placement-pref 'spread=node.labels.beta==true' \
    nginx

上述命令将在打上 beta 标签的节点上启动一个容器。

Docker Swarm 运维实战

在实际项目中,我们需要对 Docker Swarm 进行运维。以下是几个常用的运维操作:

1. 扩展服务

使用 docker service scale 命令可以扩展服务的实例数量。例如,使用以下命令将 my-nginx 服务的实例数量扩展到 5 个:

# 扩展服务实例数量
docker service scale my-nginx=5

2. 更新服务

使用 docker service update 命令可以更新服务的镜像和配置。例如,使用以下命令更新 my-nginx 服务的镜像:

# 更新服务镜像
docker service update --image nginx:1.20 my-nginx

3. 删除服务

使用 docker service rm 命令可以删除服务。例如,使用以下命令删除 my-nginx 服务:

# 删除服务
docker service rm my-nginx

总结

本文介绍了 Docker Swarm 的入门教程及部分运维常用操作,希望能对大家有所帮助。Docker Swarm 作为容器编排工具,可以为企业提供更加便捷的容器管理平台,也是一个非常值得学习和使用的工具。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/659293bbeb4cecbf2d754be9


纠错反馈