如何使用 docker context use 命令切换上下文

DockerDockerBeginner
立即练习

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

简介

在本实验中,你将学习如何使用 docker context use 命令管理和切换不同的 Docker 上下文(context)。Docker 上下文允许你轻松连接到各种 Docker 守护进程(daemon),无论是本地还是远程环境。

首先,你将列出可用的 Docker 上下文,以了解当前配置。接着,你将创建一个新的 Docker 上下文(即使它指向同一个本地守护进程),以此练习创建流程。最后,你将学习如何切换到新创建的上下文,然后再切换回默认上下文,从而掌握 docker context use 的核心功能。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555137{{"如何使用 docker context use 命令切换上下文"}} docker/create -.-> lab-555137{{"如何使用 docker context use 命令切换上下文"}} docker/system -.-> lab-555137{{"如何使用 docker context use 命令切换上下文"}} end

列出可用的 Docker 上下文

在这一步骤中,我们将学习如何列出可用的 Docker 上下文(context)。Docker 上下文是一种连接到不同 Docker 守护进程(daemon)的方式。默认情况下,Docker 会连接到本地守护进程,但你也可以创建上下文来连接远程守护进程或其他环境。

要列出可用的 Docker 上下文,你可以使用 docker context ls 命令。该命令会显示一个表格,包含每个上下文的名称、描述、Docker 端点(endpoint)和编排器(orchestrator)信息。上下文名称旁边的星号(*)表示当前激活的上下文。

让我们列出你环境中的可用 Docker 上下文。

docker context ls

你应该会看到类似以下的输出:

NAME                DESCRIPTION                               DOCKER ENDPOINT                  ORCHESTRATOR
default *           Current DOCKER_HOST environment           unix:///var/run/docker.sock      swarm

该输出显示你当前有一个名为 default 的上下文,这是激活的上下文,通过 Unix 套接字 /var/run/docker.sock 连接到本地 Docker 守护进程。

创建新的 Docker 上下文

在这一步骤中,我们将创建一个新的 Docker 上下文(context)。虽然本实验不会连接到远程守护进程,但创建上下文是一项基础技能。我们将创建一个指向与默认上下文相同本地 Docker 守护进程的上下文,但使用不同的名称。这将帮助我们理解创建和切换上下文的过程。

要创建新的 Docker 上下文,你需要使用 docker context create 命令,后跟你想为新上下文指定的名称。你还需要指定 Docker 守护进程的端点(endpoint)。在本示例中,我们将创建一个名为 my-local-context 的上下文,它通过 Unix 套接字 /var/run/docker.sock 指向本地 Docker 守护进程。

让我们创建新上下文:

docker context create my-local-context --docker "host=unix:///var/run/docker.sock"

你应该会看到确认上下文创建的输出:

my-local-context
Successfully created context "my-local-context"

现在,让我们再次列出上下文以查看新创建的上下文。

docker context ls

输出现在将显示 default 上下文和你新创建的 my-local-context

NAME                DESCRIPTION                               DOCKER ENDPOINT                  ORCHESTRATOR
default *           Current DOCKER_HOST environment           unix:///var/run/docker.sock      swarm
my-local-context                                              unix:///var/run/docker.sock

注意 default 上下文仍然标有星号(*),表示它是当前激活的上下文。

使用新的 Docker 上下文

在这一步骤中,我们将切换到上一步创建的新 Docker 上下文(context)。切换上下文可以让你将 Docker 命令指向不同的 Docker 守护进程(daemon)。

要切换到不同的 Docker 上下文,你需要使用 docker context use 命令,后跟你想使用的上下文名称。

让我们切换到之前创建的 my-local-context

docker context use my-local-context

你应该会看到确认上下文已设置的输出:

Current context is now "my-local-context"

现在,让我们再次列出上下文以查看哪个是当前激活的。

docker context ls

输出现在会显示 my-local-context 是激活的上下文,由星号(*)标识。

NAME                DESCRIPTION                               DOCKER ENDPOINT                  ORCHESTRATOR
default             Current DOCKER_HOST environment           unix:///var/run/docker.sock      swarm
my-local-context *                                            unix:///var/run/docker.sock

虽然在这个例子中两个上下文都指向同一个本地 Docker 守护进程,但你已经成功切换了 Docker 命令将要使用的上下文。

切换回默认上下文

在这最后一步中,我们将切换回默认的 Docker 上下文(context)。当你完成特定上下文的工作并希望返回常规 Docker 环境时,这是一个常见操作。

要切换回默认上下文,你同样使用 docker context use 命令,但这次需要指定 default 作为上下文名称。

让我们切换回 default 上下文:

docker context use default

你应该会看到确认上下文已切换回默认的输出:

Current context is now "default"

最后,让我们再次列出上下文以确认 default 上下文现在是激活状态。

docker context ls

输出将再次显示 default 上下文旁带有星号(*)标记。

NAME                DESCRIPTION                               DOCKER ENDPOINT                  ORCHESTRATOR
default *           Current DOCKER_HOST environment           unix:///var/run/docker.sock      swarm
my-local-context                                              unix:///var/run/docker.sock

你已经成功完成了 Docker 上下文的查看、创建、使用以及切换回默认上下文的全过程。掌握这些基础知识对于在不同 Docker 环境中工作至关重要。

总结

在本实验中,我们学习了如何管理 Docker 上下文(context)。首先使用 docker context ls 命令列出了可用上下文,查看了默认上下文及其连接详情。接着通过 docker context create 命令创建了一个名为 my-local-context 的新上下文,演示了定义新连接点的过程(尽管本次练习中连接的是同一个本地守护进程)。

创建新上下文后,我们通常会学习如何使用 docker context use 命令切换到该新上下文,使其成为后续 Docker 命令的活跃上下文。最后,我们练习了切换回原始默认上下文,巩固了关于如何使用上下文在不同 Docker 环境间切换的知识。