Попытка отключить плагин с существующими ссылками (необязательный этап)
На этом необязательном этапе вы попытаетесь отключить плагин, который в настоящее время используется или на который ссылаются другие ресурсы. Это продемонстрирует, как Docker обрабатывает такие ситуации.
Сначала снова включите плагин vieux/sshfs
, чтобы мы могли использовать его.
docker plugin enable vieux/sshfs
Теперь создадим том Docker, который использует плагин vieux/sshfs
. Это создаст зависимость от плагина.
docker volume create --driver vieux/sshfs -o sshcmd=user@host:/path/to/dir -o IdentityFile=~/.ssh/id_rsa sshfs_volume
Примечание: Эта команда, скорее всего, завершится с ошибкой, так как у вас не настроен действительный SSH - хост и ключ. Это ожидаемо и служит для создания тома, который пытается использовать плагин, тем самым создавая ссылку на него. Вы увидите сообщение об ошибке, указывающее, что создание тома не удалось.
Теперь попробуем снова отключить плагин vieux/sshfs
, когда том sshfs_volume
существует, даже если создание тома не удалось.
docker plugin disable vieux/sshfs
Вы должны увидеть сообщение об ошибке, похожее на следующее:
Error response from daemon: plugin vieux/sshfs is in use by volume sshfs_volume
Эта ошибка возникает потому, что Docker не позволяет отключать плагин, на который в настоящее время ссылаются другие ресурсы Docker, такие как тома. Это механизм безопасности, предотвращающий неожиданное поведение или потерю данных.
Для успешного отключения плагина в этом сценарии вам сначала нужно удалить зависимый ресурс (в данном случае том). Удалим том:
docker volume rm sshfs_volume
Теперь вы должны быть able to отключить плагин:
docker plugin disable vieux/sshfs
На этот раз команда должна выполниться успешно без сообщения об ошибке.
Этот этап показывает, что Docker управляет зависимостями и не позволяет отключать плагины, которые активно используются.