Как использовать команду docker plugin push для распространения плагина

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

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

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как делиться плагинами Docker, отправляя их в реестр. Сначала вы выведете на экран список плагинов, установленных в вашей среде Docker, чтобы понять, какие плагины доступны.

Затем вы попрактикуетесь в отправке плагина Docker в реестр, что позволит вам делиться плагинами или хранить их. Наконец, вы узнаете, как отправить плагин с определенным тегом (tag), что обеспечит контроль версий и упорядочивание ваших общих плагинов.


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/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/push("Push Image to Repository") subgraph Lab Skills docker/ls -.-> lab-555193{{"Как использовать команду docker plugin push для распространения плагина"}} docker/pull -.-> lab-555193{{"Как использовать команду docker plugin push для распространения плагина"}} docker/tag -.-> lab-555193{{"Как использовать команду docker plugin push для распространения плагина"}} docker/push -.-> lab-555193{{"Как использовать команду docker plugin push для распространения плагина"}} end

Вывод списка существующих плагинов

На этом этапе вы узнаете, как вывести список существующих плагинов, установленных в вашей среде Docker. Плагины расширяют функциональность Docker, позволяя добавлять такие функции, как управление томами (volume management), драйверы сети (network drivers) и многое другое.

Для вывода списка текущих установленных плагинов Docker вы можете использовать команду docker plugin ls. Эта команда покажет вам список плагинов, их статус и другую соответствующую информацию.

Давайте попробуем вывести список плагинов в вашей среде.

docker plugin ls

Вы должны увидеть вывод, похожий на следующий (точный вывод может отличаться в зависимости от вашей среды):

ID    NAME    DESCRIPTION    ENABLED

В стандартной среде LabEx обычно по умолчанию не установлено никаких плагинов, поэтому вывод, скорее всего, покажет пустой список или только важные встроенные компоненты, которые не перечислены как отдельные плагины. Это ожидаемое поведение.

Команда docker plugin ls полезна для быстрого просмотра, какие плагины доступны и включены или отключены. Это первый шаг в управлении плагинами Docker.

Отправка плагина в реестр

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

Сначала давайте загрузим образ примерного плагина. Мы будем использовать плагин vieux/sshfs в качестве примера. Этот плагин позволяет использовать SSHFS для томов Docker.

docker plugin install vieux/sshfs

Вам будет предложено принять возможности (capabilities) плагина. Введите y и нажмите Enter.

Plugin "vieux/sshfs" is requesting the following privileges:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-devices: [fuse]
 - authz: []
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the plugin these privileges? [y/N] y

После установки плагина вы можете проверить его установку и статус, снова используя команду docker plugin ls.

docker plugin ls

Теперь вы должны увидеть плагин vieux/sshfs в списке, и его статус должен быть true (включен).

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount sshfs volumes                 true

Теперь, когда у нас установлен плагин, мы можем отправить его в реестр. Чтобы отправить плагин, используйте команду docker plugin push, за которой следует имя плагина. В этом примере мы отправим плагин vieux/sshfs.

docker plugin push vieux/sshfs

Поскольку мы не отправляем плагин в конкретный реестр (например, Docker Hub), эта команда попытается отправить его в реестр по умолчанию. В реальной ситуации вам сначала нужно будет войти в свой реестр с помощью команды docker login и указать реестр в команде отправки (например, docker plugin push your-registry.com/vieux/sshfs).

Вывод показывает ход выполнения операции отправки.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:<tag>

Эта команда отправляет плагин в указанный реестр. Если тег (tag) не указан, обычно по умолчанию используется тег latest.

Отправка плагина с определенным тегом

На этом этапе вы узнаете, как отправить плагин Docker в реестр с определенным тегом (tag). Использование тегов позволяет вам версионировать свои плагины и управлять различными релизами.

На предыдущем этапе мы установили и отправили плагин vieux/sshfs. Когда мы отправляли его без указания тега, скорее всего, был использован тег по умолчанию latest. Теперь давайте отправим тот же плагин, но с определенным тегом, например, 1.0.

Для отправки плагина с определенным тегом используйте команду docker plugin push, за которой следует имя плагина и тег, разделенные двоеточием (:).

docker plugin push vieux/sshfs:1.0

Эта команда отправит плагин vieux/sshfs с тегом 1.0 в реестр по умолчанию. Как и на предыдущем этапе, в реальной ситуации с собственным реестром вы должны включить адрес реестра перед именем плагина (например, docker plugin push your-registry.com/vieux/sshfs:1.0).

Вывод показывает ход выполнения операции отправки, указывая, что плагин отправляется с указанным тегом.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:1.0

Используя теги, вы можете хранить несколько версий своего плагина в реестре. Это очень важно для управления обновлениями и обеспечения совместимости. Например, вы можете иметь vieux/sshfs:1.0, vieux/sshfs:1.1 и vieux/sshfs:latest, что позволит пользователям загружать именно ту версию, которая им нужна.

Таким образом, завершаются этапы по отправке плагинов Docker. Вы узнали, как отправить плагин в реестр и как указать тег во время операции отправки.

Резюме

В этом практическом занятии вы узнали, как управлять плагинами Docker, в частности, как просматривать их список и отправлять в реестр. Вы начали с использования команды docker plugin ls для просмотра установленных плагинов, понимая, что в среде по умолчанию список может быть пустым.

Затем вы практиковали отправку плагина в реестр. Это включало в себя установку примерного плагина (vieux/sshfs) и последующее использование команды docker plugin push для его распространения. Вы также узнали, как отправить плагин с определенным тегом (tag), что позволяет версионировать плагины и лучше организовать их в реестре. Эти этапы являются важными для распространения и управления пользовательскими или сторонними функциональностями Docker.