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

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

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

Введение

В этом лабораторном занятии (LabEx) вы научитесь создавать плагин Docker с помощью команды docker plugin create. Этот процесс включает подготовку необходимой структуры каталогов и файла конфигурации для вашего плагина, а затем использование команды для сборки плагина из этих компонентов.

В рамках лабораторного занятия вы пройдете по этапам подготовки каталога данных плагина, включая создание файла config.json для определения свойств и интерфейса плагина. Затем вы выполните команду docker plugin create для сборки плагина на основе подготовленных данных. Наконец, вы убедитесь, что плагин успешно создан и доступен в вашей среде Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555187{{"Как использовать команду docker plugin create для создания плагина"}} docker/create -.-> lab-555187{{"Как использовать команду docker plugin create для создания плагина"}} docker/volume -.-> lab-555187{{"Как использовать команду docker plugin create для создания плагина"}} end

Подготовка каталога данных плагина

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

Сначала перейдите в каталог проекта.

cd ~/project

Теперь создайте каталог для данных плагина. Мы назовем его my-plugin-data.

mkdir my-plugin-data

Внутри каталога my-plugin-data нам нужно создать файл конфигурации с именем config.json. Этот файл будет содержать детали конфигурации плагина.

cd my-plugin-data
nano config.json

Добавьте следующее содержимое в файл config.json. Это базовая конфигурация, которая указывает тип и описание плагина.

{
  "Description": "My first Docker plugin",
  "Types": [
    {
      "Name": "volume",
      "Description": "A simple volume plugin"
    }
  ],
  "Interface": {
    "Types": ["docker.volumedriver/1.0"],
    "Socket": "my-plugin.sock"
  },
  "Entrypoint": ["/usr/local/bin/my-plugin"]
}

Разберем файл config.json:

  • Description: Человеко-читаемое описание плагина.
  • Types: Указывает типы предоставляемых плагинов. В данном случае это плагин volume (том).
  • Interface: Определяет интерфейс плагина.
    • Types: Указывает тип интерфейса, docker.volumedriver/1.0 для драйвера тома.
    • Socket: Имя Unix-доменного сокета, на котором плагин будет прослушивать запросы. Docker будет взаимодействовать с плагином через этот сокет.
  • Entrypoint: Команда, которую Docker выполнит при включении плагина. Это должен быть путь к исполняемому файлу плагина в корневой файловой системе плагина.

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

Наконец, вернитесь в корневой каталог проекта.

cd ~/project

Теперь вы успешно создали базовую структуру каталогов и файл конфигурации для вашего плагина Docker.

Создание плагина с использованием команды docker plugin create

На этом этапе мы воспользуемся командой docker plugin create для создания плагина на основе каталога, который мы подготовили на предыдущем этапе. Команда docker plugin create принимает в качестве аргументов имя плагина и путь к каталогу данных плагина.

Синтаксис команды: docker plugin create <plugin-name> <plugin-data-directory>.

Мы назовем наш плагин my-plugin и используем каталог my-plugin-data, который мы создали ранее. Убедитесь, что вы находитесь в каталоге ~/project.

cd ~/project
sudo docker plugin create my-plugin ./my-plugin-data

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

Команда docker plugin create считывает файл config.json из указанного каталога и регистрирует плагин в демоне Docker. На данном этапе плагин создан, но еще не включен.

Проверка созданного плагина

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

Убедитесь, что вы находитесь в каталоге ~/project.

cd ~/project
sudo docker plugin ls

Вывод этой команды должен показать список плагинов. Вы должны увидеть запись для my-plugin со статусом disabled (отключен). Это подтверждает, что плагин был зарегистрирован в Docker, но еще не активен.

Вывод будет похож на следующий (идентификатор ID будет другим):

ID             NAME        TAG       DESCRIPTION             ENABLED
a1b2c3d4e5f6   my-plugin             My first Docker plugin   false

Столбец ENABLED показывает false, что означает, что плагин в настоящее время отключен. Чтобы использовать плагин, вам нужно будет включить его с помощью команды docker plugin enable. Однако, так как это всего лишь демонстрация создания структуры плагина, мы не будем включать его в этом учебном модуле.

Теперь вы успешно создали и проверили существование своего плагина Docker.

Резюме

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