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

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

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

Введение

В этой лабораторной работе (Lab) вы научитесь эффективно управлять различными конечными точками (endpoints) Docker с помощью команды docker context create. Вы изучите, как создать новый контекст, указывающий на локальный демон Docker, что позволит явно определять и переключаться между подключениями.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/ls -.-> lab-555129{{"Как использовать команду docker context create для управления конечными точками Docker"}} docker/inspect -.-> lab-555129{{"Как использовать команду docker context create для управления конечными точками Docker"}} docker/create -.-> lab-555129{{"Как использовать команду docker context create для управления конечными точками Docker"}} docker/images -.-> lab-555129{{"Как использовать команду docker context create для управления конечными точками Docker"}} end

Создание контекста с локальной конечной точкой Docker

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

Сначала проверим существующие контексты.

docker context ls

Вы должны увидеть список с контекстом default.

Теперь создадим новый контекст с именем my-local-context, указывающий на локальную конечную точку Docker. Мы используем команду docker context create с флагом --docker для указания конечной точки Docker. Поскольку мы подключаемся к локальному демону, можно использовать стандартный путь к сокету.

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

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

docker images

Эта команда теперь выполняется для демона Docker, указанного в my-local-context.

Наконец, при необходимости можно вернуться к контексту по умолчанию.

docker context use default

Создание контекста на основе существующего

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

Сначала убедимся, что у нас есть контекст my-local-context, созданный на предыдущем шаге. Для этого выведем список контекстов:

docker context ls

Теперь создадим новый контекст с именем my-copied-context на основе my-local-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 будет иметь ту же конфигурацию конечной точки Docker, что и my-local-context.

Для проверки конфигурации можно переключиться на новый контекст:

docker context use my-copied-context

Снова выведем список контекстов, чтобы убедиться, что my-copied-context стал активным:

docker context ls

Также можно просмотреть конфигурацию нового контекста с помощью команды docker context inspect:

docker context inspect my-copied-context

Эта команда покажет детали контекста, включая используемую конечную точку Docker. Вы увидите, что контекст настроен на использование локального сокета Docker, как и my-local-context.

Наконец, вернёмся к контексту по умолчанию для следующего шага:

docker context use default

Создание контекста с явным указанием конфигурации конечной точки Docker

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

Сначала выведем список существующих контекстов:

docker context ls

Вы должны увидеть контексты: default, my-local-context и my-copied-context.

Теперь создадим новый контекст с именем my-explicit-context. Мы явно укажем конечную точку Docker с помощью флага --docker, аналогично Шагу 1. Можно использовать конфигурацию существующего контекста (например 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 с помощью команды docker context create. Вы начали с создания нового контекста my-local-context, явно указывающего на локальный демон Docker, продемонстрировав как определить соединение с использованием флага --docker и пути к сокету. Вы попрактиковались в выводе списка существующих контекстов, переключении между ними с помощью docker context use и проверке активного контекста. Также вы увидели, как Docker-команда (например, docker images) выполняется в рамках текущего активного контекста.

Кроме того, вы изучили способ создания нового контекста на основе конфигурации существующего, что является удобным методом для работы с уже настроенными параметрами соединения. Это позволяет эффективно управлять конфигурациями конечных точек Docker и повторно использовать их.