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

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

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

Введение

В этом лабораторном занятии (LabEx) вы научитесь удалять плагин Docker с помощью команды docker plugin rm. Сначала вы установите пример плагина для работы. Затем попытаетесь удалить плагин, пока он все еще включен, чтобы понять поведение по умолчанию и ошибку, которую можно встретить.

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


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/rm("Remove Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555194{{"Как использовать команду docker plugin rm для удаления плагина"}} docker/rm -.-> lab-555194{{"Как использовать команду docker plugin rm для удаления плагина"}} docker/volume -.-> lab-555194{{"Как использовать команду docker plugin rm для удаления плагина"}} end

Установка примерного плагина

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

Мы установим простой примерный плагин, чтобы продемонстрировать процесс. Команда для установки плагина - docker plugin install. Во время установки вам нужно будет принять возможности и разрешения плагина.

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

docker plugin install vieux/sshfs

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

Plugin "vieux/sshfs" is requesting the following capabilities:
  - Network: host
  - Mounts: [/dev/fuse]
  - Args: [--sshkey-path]
Do you grant the plugin these permissions? [y/N] y

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

docker plugin ls

Вы должны увидеть vieux/sshfs в списке со статусом ENABLED, установленным в true.

Попытка удалить включенный плагин

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

Команда для удаления плагина Docker - docker plugin rm. Мы попробуем удалить плагин vieux/sshfs.

docker plugin rm vieux/sshfs

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

Вывод будет похож на следующий:

Error response from daemon: plugin vieux/sshfs is enabled. Disable it before removing

Это подтверждает, что вы должны отключить плагин, прежде чем сможете удалить его. На следующем этапе вы научитесь отключать плагин.

Отключение плагина

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

Команда для отключения плагина Docker - docker plugin disable. Теперь мы отключим плагин vieux/sshfs, который вы установили на первом этапе.

docker plugin disable vieux/sshfs

Эта команда остановит плагин и сделает его неактивным. Если команда выполнится успешно, вы не увидите большого количества вывода.

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

docker plugin ls

Теперь в выводе для vieux/sshfs параметр ENABLED должен быть равен false.

ID                  NAME                DESCRIPTION         ENABLED
f51132325c3b        vieux/sshfs         Create SSHFS mounts true

Подождите, вывод по-прежнему показывает true? Это потому, что команда docker plugin ls может показывать кэшированную информацию. Попробуем снова перечислить плагины, чтобы увидеть обновленный статус.

docker plugin ls

Теперь вы должны увидеть, что параметр ENABLED для vieux/sshfs равен false.

ID                  NAME                DESCRIPTION         ENABLED
f51132325c3b        vieux/sshfs         Create SSHFS mounts false

Плагин теперь отключен и готов к удалению.

Удаление отключенного плагина

На предыдущем этапе вы успешно отключили плагин vieux/sshfs. Теперь, когда плагин отключен, вы можете удалить его с помощью команды docker plugin rm.

docker plugin rm vieux/sshfs

Если плагин был успешно удален, вы увидите имя плагина в выводе.

vieux/sshfs

Чтобы убедиться, что плагин был удален, снова перечислите установленные плагины.

docker plugin ls

На этот раз плагин vieux/sshfs больше не должен появляться в списке.

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

Попытка принудительного удаления плагина

На предыдущих этапах вы узнали, что перед удалением плагина его необходимо отключить. Что произойдет, если вы попытаетесь принудительно удалить включенный плагин?

В команде docker plugin rm есть флаг --force или -f, который можно использовать для попытки принудительного удаления плагина. Однако, даже с использованием флага принудительного удаления, Docker не удалит включенный плагин.

Сначала переустановим плагин vieux/sshfs, чтобы у нас был включенный плагин для работы.

docker plugin install vieux/sshfs

Не забудьте ввести y и нажать Enter, когда вас попросят подтвердить разрешения.

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

docker plugin rm --force vieux/sshfs

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

Error response from daemon: plugin vieux/sshfs is enabled. Disable it before removing

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

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

Резюме

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