简介
在本实验中,你将学习如何使用 docker context create
命令高效管理不同的 Docker 端点(endpoint)。你将探索如何创建一个指向本地 Docker 守护进程(daemon)的新上下文(context),从而能够明确定义和切换不同的连接。
此外,你还将了解如何通过利用现有上下文的配置来简化上下文创建流程。这包括通过复制现有上下文来创建新上下文,以及创建使用其他上下文 Docker 端点配置的上下文,从而为管理 Docker 环境提供灵活性和效率。
在本实验中,你将学习如何使用 docker context create
命令高效管理不同的 Docker 端点(endpoint)。你将探索如何创建一个指向本地 Docker 守护进程(daemon)的新上下文(context),从而能够明确定义和切换不同的连接。
此外,你还将了解如何通过利用现有上下文的配置来简化上下文创建流程。这包括通过复制现有上下文来创建新上下文,以及创建使用其他上下文 Docker 端点配置的上下文,从而为管理 Docker 环境提供灵活性和效率。
在本步骤中,你将学习如何创建一个指向本地 Docker 守护进程的上下文(context)。Docker 上下文是一种管理不同 Docker 守护进程(本地或远程)连接的方式。默认情况下,Docker 使用指向本地守护进程的 default
上下文,但你可以创建新上下文来明确定义连接。
首先,让我们查看现有上下文:
docker context ls
你应该能看到列出的 default
上下文。
现在,让我们创建一个名为 my-local-context
的新上下文,指向本地 Docker 端点。我们将使用 docker context create
命令配合 --docker
标志来指定 Docker 端点。由于我们连接的是本地守护进程,可以直接使用默认的 socket 路径:
docker context create my-local-context --docker "host=unix:///var/run/docker.sock"
创建上下文后,你可以再次列出上下文查看新建的条目:
docker context ls
现在你应该能看到 default
和 my-local-context
同时列出。星号(*
)表示当前活跃的上下文,此时应该仍是 default
。
要使用新上下文,需要通过 docker context use
命令进行切换:
docker context use my-local-context
再次列出上下文时,my-local-context
应该已成为活跃上下文:
docker context ls
你可以通过运行简单的 Docker 命令(例如列出镜像)来验证当前正在使用 my-local-context
:
docker images
现在该命令将在 my-local-context
指定的 Docker 守护进程上执行。
最后,如需切换回默认上下文,可执行:
docker context use default
在本步骤中,你将学习如何通过复制现有上下文的配置来创建新的 Docker 上下文。当你需要基于现有上下文创建稍作修改的版本,而不想重新指定所有配置细节时,这个方法非常实用。
首先,请确认我们已创建了上一步中的 my-local-context
。你可以列出所有上下文进行确认:
docker context ls
现在,我们将基于 my-local-context
创建一个名为 my-copied-context
的新上下文。使用 docker context create
命令并指定 --from
参数,后跟现有上下文的名称:
docker context create my-copied-context --from my-local-context
创建新上下文后,再次列出上下文查看新增的 my-copied-context
:
docker context ls
此时你应该能看到 default
、my-local-context
和 my-copied-context
。其中 my-copied-context
将拥有与 my-local-context
完全相同的 Docker 端点配置。
你可以切换到新上下文来验证其配置:
docker context use my-copied-context
再次列出上下文确认 my-copied-context
已成为活跃上下文:
docker context ls
你还可以使用 docker context inspect
命令查看新上下文的详细配置:
docker context inspect my-copied-context
这将显示上下文的详细信息,包括其配置使用的 Docker 端点。你会看到它和 my-local-context
一样配置为使用本地 Docker socket。
最后,为进行后续步骤,请切换回默认上下文:
docker context use default
在本步骤中,你将学习如何创建新的 Docker 上下文,并显式指定其 Docker 端点配置,同时可以参考其他上下文的配置信息。与上一步复制整个上下文的方式不同,这种方法能让你更精细地控制新上下文的配置。
首先,让我们列出已有上下文查看当前配置:
docker context ls
你应该能看到 default
、my-local-context
和 my-copied-context
。
现在我们将创建一个名为 my-explicit-context
的新上下文。使用 --docker
参数显式定义 Docker 端点(类似第一步的操作)。虽然本示例使用的是标准本地 socket,但你可以参考现有上下文(如 my-local-context
)来获取正确的端点配置:
docker context create my-explicit-context --description "Context with explicit local endpoint" --docker "host=unix:///var/run/docker.sock"
我们还通过 --description
参数添加了描述信息,使上下文用途更加明确。
再次列出上下文查看新建的 my-explicit-context
:
docker context ls
现在你应该能看到 default
、my-local-context
、my-copied-context
和 my-explicit-context
。
切换到新上下文使其生效:
docker context use my-explicit-context
再次列出上下文确认 my-explicit-context
已成为活跃上下文:
docker context ls
你还可以检查 my-explicit-context
的配置详情,包括之前添加的描述信息:
docker context inspect my-explicit-context
这个示例展示了如何通过显式提供 Docker 端点配置来创建上下文,这种方法在连接远程 Docker 守护进程或需要精确控制连接参数时特别有用。
在本实验中,你学习了如何使用 docker context create
命令管理 Docker 端点。你首先创建了一个名为 my-local-context
的新上下文,它显式指向本地 Docker 守护进程,并通过 --docker
参数和 socket 路径演示了如何定义连接。你练习了列出现有上下文、使用 docker context use
切换上下文以及验证当前活跃上下文。你还看到像 docker images
这样的 Docker 命令是如何在当前活跃上下文中执行的。
此外,你探索了如何利用现有上下文的配置来创建新上下文,这是基于现有连接设置进行扩展的便捷方法。这种方式可以高效管理和复用 Docker 端点配置。