docker plugin rm コマンドを使ってプラグインを削除する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、docker plugin rm コマンドを使用して 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/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/sshfsENABLED ステータスが 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 の出力で ENABLEDfalse と表示されるはずです。

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

待ってください、出力がまだ true と表示されていますか?これは docker plugin ls コマンドがキャッシュされた情報を表示する可能性があるためです。再度プラグインを一覧表示して、更新されたステータスを確認しましょう。

docker plugin ls

これで、vieux/sshfsENABLED ステータスが 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 plugin install を使用して Docker プラグインをインストールする方法を学び、docker plugin ls でインストールを確認しました。その後、docker plugin rm を使用して有効なプラグインを削除しようとし、Docker がアクティブなプラグインの削除を防止し、まず無効化する必要があることを発見しました。