Как использовать команду docker context show для отображения текущего контекста

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

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

Введение

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

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


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/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555135{{"Как использовать команду docker context show для отображения текущего контекста"}} docker/create -.-> lab-555135{{"Как использовать команду docker context show для отображения текущего контекста"}} docker/info -.-> lab-555135{{"Как использовать команду docker context show для отображения текущего контекста"}} docker/system -.-> lab-555135{{"Как использовать команду docker context show для отображения текущего контекста"}} end

Отображение контекста Docker по умолчанию

На этом шаге мы узнаем, как отобразить контекст Docker по умолчанию. Контекст Docker (Docker context) — это способ подключения к различным демонам Docker. По умолчанию Docker использует контекст default, который подключается к демону Docker, работающему на локальной машине.

Для отображения текущего контекста Docker можно использовать команду docker context show.

docker context show

В результате вы должны увидеть вывод default, что указывает на использование контекста Docker по умолчанию.

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

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

Мы создадим контекст с именем my-context, который подключается к локальному демону Docker. Хотя это может показаться избыточным для локального подключения, данный пример демонстрирует процесс создания контекста.

Для создания нового контекста используем команду docker context create с указанием имени контекста. Также необходимо указать конечную точку (endpoint) для демона Docker с помощью флага --docker. Для локального демона конечная точка обычно имеет вид unix:///var/run/docker.sock.

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

После выполнения команды вы увидите сообщение о том, что контекст my-context был создан.

Чтобы убедиться в успешном создании контекста, можно вывести список всех доступных контекстов с помощью команды docker context ls.

docker context ls

В выводе вы должны увидеть my-context вместе с контекстом default по умолчанию.

Переключение на новый контекст Docker и его отображение

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

Для переключения на другой контекст Docker используем команду docker context use с указанием имени нужного контекста. В нашем случае имя контекста — my-context.

docker context use my-context

Вы должны увидеть подтверждение о переключении на контекст my-context.

Теперь снова отобразим текущий контекст Docker с помощью команды docker context show, чтобы убедиться, что мы действительно используем my-context.

docker context show

Результатом выполнения этой команды теперь будет my-context, что подтверждает успешное переключение.

Возврат к контексту по умолчанию и его отображение

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

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

docker context use default

Вы должны увидеть подтверждение о переключении обратно на контекст default.

Теперь снова отобразим текущий контекст Docker с помощью команды docker context show, чтобы убедиться, что мы вернулись к использованию контекста default.

docker context show

Результатом выполнения этой команды теперь будет default, что подтверждает успешное переключение.

Интеграция docker context show в командную строку

В этом шаге мы интегрируем команду docker context show в вашу командную строку. Это позволит видеть текущий контекст Docker прямо в терминале, упрощая отслеживание, с каким демоном Docker вы взаимодействуете.

Мы изменим файл .zshrc в вашей домашней директории (конфигурационный файл для оболочки Zsh), добавив функцию для получения текущего контекста Docker и включив её вывод в строку приглашения.

Сначала откройте файл .zshrc в редакторе nano:

nano ~/.zshrc

Прокрутите в конец файла и добавьте следующие строки:

## Function to get current Docker context
get_docker_context() {
  docker context show 2> /dev/null
}

## Add Docker context to prompt
PROMPT='$(get_docker_context) %~ %## '

Разберём эти строки:

  • get_docker_context(): Определяет новую функцию оболочки с именем get_docker_context
  • docker context show 2>/dev/null: Получает текущий контекст Docker, перенаправляя ошибки в /dev/null, чтобы они не загромождали строку приглашения
  • PROMPT='$(get_docker_context) %~ %## ': Устанавливает переменную окружения PROMPT:
    • $(get_docker_context): Выводит текущий контекст Docker
    • %~: Отображает текущую рабочую директорию (сокращая домашнюю директорию до ~)
    • %#: Показывает # для root-пользователя или % для обычного пользователя

Сохраните файл, нажав Ctrl + X, затем Y, и Enter.

Чтобы применить изменения в текущей сессии терминала, выполните:

source ~/.zshrc

Теперь в строке приглашения должен отображаться текущий контекст Docker (по умолчанию default) перед текущей директорией.

Для проверки переключитесь обратно на my-context:

docker context use my-context

Строка приглашения должна обновиться, отображая my-context.

Затем вернитесь к контексту по умолчанию:

docker context use default

Строка приглашения снова должна показывать default.

Итоги

В этой лабораторной работе мы изучили управление контекстами Docker с помощью команды docker context show. Мы начали с отображения контекста по умолчанию, который подключён к локальному демону. Затем создали новый контекст с именем my-context, продемонстрировав процесс определения параметров подключения для другого демона (даже если в данном примере это был тот же локальный демон).

После создания мы попрактиковались в переключении на новый контекст с помощью docker context use и проверили активный контекст командой docker context show. Этот практический опыт закрепил наше понимание того, как переключаться между различными средами Docker и проверять текущую точку подключения.