Введение
В этой лабораторной работе вы научитесь управлять различными контекстами Docker и переключаться между ними с помощью команды docker context use. Контексты Docker позволяют легко подключаться к различным демонам Docker, будь то локальные или удалённые.
Вы начнёте с вывода списка доступных контекстов Docker, чтобы понять текущую конфигурацию. Затем вы создадите новый контекст Docker, даже если он указывает на тот же локальный демон, чтобы отработать процесс создания. Наконец, вы узнаете, как переключиться на новый контекст, а затем вернуться к контексту по умолчанию, демонстрируя основную функциональность команды docker context use.
Список доступных контекстов 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 через переключение контекстов.



