Как использовать команду docker context use для переключения контекстов

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этой лабораторной работе вы научитесь управлять различными контекстами Docker и переключаться между ними с помощью команды docker context use. Контексты Docker позволяют легко подключаться к различным демонам Docker, будь то локальные или удалённые.

Вы начнёте с вывода списка доступных контекстов 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. Контекст Docker — это способ подключения к различным демонам Docker. По умолчанию Docker подключается к локальному демону, но вы можете создавать контексты для подключения к удалённым демонам или другим средам.

Чтобы вывести список доступных контекстов Docker, используйте команду docker context ls. Эта команда отобразит таблицу с именем, описанием, конечной точкой Docker (Docker endpoint) и оркестратором для каждого контекста. Звёздочка (*) рядом с именем контекста указывает на текущий активный контекст.

Давайте выведем список доступных контекстов Docker в вашем окружении.

docker context ls

Вы должны увидеть вывод, похожий на этот:

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

Этот вывод показывает, что у вас есть один контекст с именем default, который является активным и подключается к локальному демону Docker через Unix-сокет /var/run/docker.sock.

Создание нового контекста Docker

На этом шаге мы создадим новый контекст Docker. Хотя в данной лабораторной работе мы не будем подключаться к удалённому демону, создание контекста является базовым навыком. Мы создадим контекст, указывающий на тот же локальный демон Docker, что и контекст по умолчанию, но с другим именем. Это поможет нам понять процесс создания и переключения контекстов.

Для создания нового контекста Docker используется команда docker context create, за которой следует имя нового контекста. Также необходимо указать конечную точку (endpoint) для демона Docker. В этом примере мы создадим контекст с именем my-local-context, который будет указывать на локальный демон Docker через Unix-сокет /var/run/docker.sock.

Создадим новый контекст:

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, созданного на предыдущем этапе. Переключение контекстов позволяет перенаправлять Docker-команды к другому демону Docker.

Для переключения на другой контекст 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 по умолчанию. Это стандартная операция, когда вы завершили работу с определённым контекстом и хотите вернуться к обычной среде 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. Мы начали с вывода списка доступных контекстов с помощью команды docker context ls, которая показала нам контекст по умолчанию и его параметры подключения. Затем мы создали новый контекст с именем my-local-context при помощи команды docker context create, продемонстрировав процесс определения новой точки подключения (даже если в данном упражнении она вела к тому же локальному демону).

После создания нового контекста мы обычно изучаем, как переключиться на него с помощью команды docker context use, делая его активным для последующих Docker-команд. В завершение мы возвращаемся к исходному контексту по умолчанию, закрепляя понимание работы с разными средами Docker через переключение контекстов.