简介
在这个实验中,你将学习如何通过创建和移除 Docker 服务来管理它们。我们将从基于 alpine
镜像创建一个简单的服务开始,该服务将运行 ping
命令。
创建服务后,你将使用 docker service ls
命令列出活动服务,以此验证服务是否成功创建。最后,你将学习如何使用 docker service rm
命令移除服务,并通过再次列出服务来确认其已被移除。这个实践练习将为你提供基本 Docker 服务管理的实际经验。
在这个实验中,你将学习如何通过创建和移除 Docker 服务来管理它们。我们将从基于 alpine
镜像创建一个简单的服务开始,该服务将运行 ping
命令。
创建服务后,你将使用 docker service ls
命令列出活动服务,以此验证服务是否成功创建。最后,你将学习如何使用 docker service rm
命令移除服务,并通过再次列出服务来确认其已被移除。这个实践练习将为你提供基本 Docker 服务管理的实际经验。
在这一步中,我们将创建一个简单的 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
命令删除服务,并通过再次列出服务来验证其已被删除。