如何使用 docker service rm 命令删除服务

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何通过创建和移除 Docker 服务来管理它们。我们将从基于 alpine 镜像创建一个简单的服务开始,该服务将运行 ping 命令。

创建服务后,你将使用 docker service ls 命令列出活动服务,以此验证服务是否成功创建。最后,你将学习如何使用 docker service rm 命令移除服务,并通过再次列出服务来确认其已被移除。这个实践练习将为你提供基本 Docker 服务管理的实际经验。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/ls -.-> lab-555229{{"如何使用 docker service rm 命令删除服务"}} docker/rm -.-> lab-555229{{"如何使用 docker service rm 命令删除服务"}} docker/create -.-> lab-555229{{"如何使用 docker service rm 命令删除服务"}} docker/pull -.-> lab-555229{{"如何使用 docker service rm 命令删除服务"}} end

创建示例服务

在这一步中,我们将创建一个简单的 Docker 服务。Docker 服务是一组协同工作以提供特定功能的容器。我们将使用 docker service create 命令基于 alpine 镜像创建一个服务。

首先,让我们拉取 alpine 镜像。虽然环境中已经安装了 Docker,但可能并非所有镜像都已预先拉取。

docker pull alpine

你应该会看到表明镜像正在被拉取或已可用的输出。

现在,我们将使用 alpine 镜像创建一个名为 my-alpine-service 的服务,并运行 ping docker.com 命令。这个服务将由单个副本(一个容器)组成。

docker service create --name my-alpine-service alpine ping docker.com

运行该命令后,Docker Swarm 将创建服务并启动容器。你将看到确认服务创建的输出,包括其 ID。

列出服务以确认创建

在上一步中,我们创建了一个 Docker 服务。现在,我们将通过列出活动服务来验证该服务是否已成功创建。

要列出 Docker 服务,我们使用 docker service ls 命令。此命令将显示在你的 Docker Swarm 中运行的所有服务的列表。

docker service ls

你应该会看到类似以下的输出,显示我们创建的 my-alpine-service

ID             NAME                MODE         REPLICAS   IMAGE          PORTS
[service_id]   my-alpine-service   replicated   1/1        alpine:latest

输出提供了有关服务的信息,包括其 ID、名称、模式(副本模式或全局模式)、副本数量(期望/运行中)以及它所使用的镜像。REPLICAS 下的 1/1 表示期望有一个副本,并且当前有一个正在运行。

删除示例服务

在这一步中,我们将删除在前面步骤中创建的 Docker 服务。删除服务将停止并移除与该服务关联的所有容器。

要删除 Docker 服务,我们使用 docker service rm 命令,后面跟上服务名称或 ID。我们将使用服务名称 my-alpine-service

docker service rm my-alpine-service

你应该会看到确认服务已被删除的输出,通常会显示被删除的服务名称或 ID。

my-alpine-service

此命令告知 Docker Swarm 终止该服务并清理相关资源。

列出服务以确认删除

在上一步中,我们删除了 my-alpine-service。现在,我们将确认该服务不再列于活动服务之中。

我们将再次使用 docker service ls 命令来列出服务。

docker service ls

这次,输出中不应包含 my-alpine-service。如果没有其他服务在运行,输出可能仅显示标题行。

ID             NAME                MODE         REPLICAS   IMAGE          PORTS

如果你看到此输出或类似的不包含 my-alpine-service 的输出,就证实该服务已成功删除。

总结

在本次实验中,我们学习了如何使用命令行管理 Docker 服务。首先,我们基于 alpine 镜像创建了一个名为 my-alpine-service 的示例服务,展示了如何使用 docker service create 来定义一个具有特定命令和副本数量的服务。

然后,我们使用 docker service ls 列出活动服务,确认了服务已成功创建,并查看了服务的详细信息,包括其 ID、名称和副本状态。最后,我们学习了如何使用 docker service rm 命令删除服务,并通过再次列出服务来验证其已被删除。