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

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

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

Введение

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

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


Skills Graph

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

Установка и использование плагина Docker

На этом этапе вы научитесь устанавливать и использовать плагин Docker. Плагины Docker расширяют функциональность Docker. Они могут предоставлять такие функции, как управление томами, сетевые драйверы и многое другое. Мы установим простой плагин для управления томами под названием rexray/s3fs, который позволяет хранить тома Docker на Amazon S3. Хотя мы не будем настраивать полноценный бэкенд S3, установка плагина демонстрирует процесс.

Сначала установим плагин. Вы можете установить плагин Docker с помощью команды docker plugin install.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Эта команда устанавливает плагин rexray/s3fs и предоставляет ему все необходимые разрешения. Флаг --grant-all-permissions используется здесь для упрощения в лабораторной среде. В производственной среде вы должны тщательно проверить и предоставить только необходимые разрешения.

Вам будет предложено подтвердить установку и разрешения. Введите y и нажмите Enter.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

После подтверждения Docker загрузит и установит плагин. Это может занять некоторое время в зависимости от вашего сетевого соединения.

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

sudo docker plugin ls

Вы должны увидеть rexray/s3fs в списке с параметром ENABLED равным true.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

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

sudo docker volume create --driver rexray/s3fs my-s3-volume

Эта команда пытается создать том с именем my-s3-volume с использованием драйвера rexray/s3fs. Поскольку мы не настроили S3, эта команда может показать предупреждение или ошибку, связанную с подключением к S3, но сам объект тома будет создан Docker.

Вы можете вывести список томов, чтобы увидеть только что созданный том.

sudo docker volume ls

Вы должны увидеть my-s3-volume в списке с параметром DRIVER равным rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume

Наконец, вы можете проверить том, чтобы увидеть больше информации о нем.

sudo docker volume inspect my-s3-volume

Эта команда выведет JSON-объект, содержащий информацию о томе my-s3-volume, включая его драйвер.

Отключение плагина перед обновлением

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

Вы можете отключить плагин Docker с помощью команды docker plugin disable.

sudo docker plugin disable rexray/s3fs

Эта команда отключает плагин rexray/s3fs. Если плагин в данный момент используется какими-либо запущенными контейнерами, Docker не позволит вам отключить его и выдаст сообщение об ошибке. В нашем случае плагин не активно используется запущенным контейнером, поэтому он должен быть успешно отключен.

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

sudo docker plugin ls

Теперь вы должны увидеть rexray/s3fs в списке с параметром ENABLED равным false.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

Отключение плагина делает его неактивным, но он по-прежнему установлен в вашей системе. Это состояние необходимо перед обновлением или удалением плагина.

Обновление плагина Docker

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

Для обновления плагина Docker вы снова используете команду docker plugin install, указав имя плагина и, возможно, новый тег (tag), если вы хотите определенную версию. Если вы не укажете тег, Docker загрузит последнюю версию. Мы будем использовать то же имя плагина, и Docker сам обработает процесс обновления.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Эта команда попытается снова установить плагин rexray/s3fs. Поскольку версия уже установлена, Docker распознает это как попытку обновления. Вам будет предложено подтвердить обновление и разрешения, аналогично первоначальной установке.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

Введите y и нажмите Enter, чтобы продолжить обновление. Docker загрузит новую версию плагина и заменит существующую.

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

sudo docker plugin ls

Вы по-прежнему должны увидеть rexray/s3fs в списке с параметром ENABLED равным false. ID может измениться, что указывает на то, что установлена новая версия.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

Обновление плагина заменяет исполняемые файлы и конфигурационные файлы плагина новой версией. Важно перезапустить (включить) плагин после обновления, чтобы он стал доступен для использования.

Повторное включение и проверка обновленного плагина

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

Вы можете включить плагин Docker с помощью команды docker plugin enable.

sudo docker plugin enable rexray/s3fs

Эта команда включает плагин rexray/s3fs. Если плагин успешно запустится, команда завершится без вывода. Если при запуске плагина возникнут проблемы, вы, возможно, увидите сообщение об ошибке.

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

sudo docker plugin ls

Теперь вы должны увидеть rexray/s3fs в списке с параметром ENABLED, который снова установлен в true.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

Для дальнейшей проверки работоспособности обновленного плагина вы можете попробовать создать еще один том с использованием драйвера плагина.

sudo docker volume create --driver rexray/s3fs my-s3-volume-2

Эта команда создает новый том с именем my-s3-volume-2 с использованием драйвера rexray/s3fs. Если плагин работает правильно, эта команда должна завершиться успешно (хотя, как и раньше, могут появиться предупреждения, связанные с подключением к S3, если оно не настроено).

Вы можете снова вывести список томов, чтобы увидеть новый том.

sudo docker volume ls

Теперь вы должны увидеть как my-s3-volume, так и my-s3-volume-2 в списке с параметром DRIVER равным rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume
rexray/s3fs         my-s3-volume-2

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

Резюме

В этом практическом занятии (лабораторной работе) вы научились устанавливать и использовать плагин Docker. В частности, вы установили плагин для управления томами rexray/s3fs с помощью команды docker plugin install, предоставив необходимые разрешения. Затем вы проверили успешность установки и статус включения плагина с помощью команды docker plugin ls.

После установки вы узнали о важном этапе - отключении плагина с помощью команды docker plugin disable перед обновлением. Затем вы обновили плагин с помощью команды docker plugin upgrade, указав новую версию. Наконец, вы снова включили обновленный плагин с помощью команды docker plugin enable и проверили его статус и функциональность, подтвердив успешность процесса обновления.