はじめに
この実験では、Docker プラグインをレジストリにプッシュすることで共有する方法を学びます。まず、Docker 環境に現在インストールされているプラグインを一覧表示し、利用可能なプラグインを把握します。
その後、Docker プラグインをレジストリにプッシュする練習を行い、プラグインを共有または保存できるようにします。最後に、特定のタグ付きでプラグインをプッシュする方法を学び、共有するプラグインのバージョン管理と整理を行います。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Docker プラグインをレジストリにプッシュすることで共有する方法を学びます。まず、Docker 環境に現在インストールされているプラグインを一覧表示し、利用可能なプラグインを把握します。
その後、Docker プラグインをレジストリにプッシュする練習を行い、プラグインを共有または保存できるようにします。最後に、特定のタグ付きでプラグインをプッシュする方法を学び、共有するプラグインのバージョン管理と整理を行います。
このステップでは、Docker 環境にインストールされている既存のプラグインを一覧表示する方法を学びます。プラグインは Docker の機能を拡張し、ボリューム管理やネットワークドライバなどの機能を追加することができます。
現在インストールされている Docker プラグインを一覧表示するには、docker plugin ls
コマンドを使用できます。このコマンドは、プラグインの一覧、その状態、およびその他の関連情報を表示します。
環境内のプラグインを一覧表示してみましょう。
docker plugin ls
次のような出力が表示されるはずです(正確な出力は環境によって異なります)。
ID NAME DESCRIPTION ENABLED
デフォルトの LabEx 環境では、通常、デフォルトでプラグインはインストールされていないため、出力は空のリスト、または個別のプラグインとしてはリストされない必須の組み込みコンポーネントのみを表示することが多いです。これは正常な動作です。
docker plugin ls
コマンドは、どのプラグインが利用可能で、有効または無効になっているかをすぐに確認するのに便利です。これは Docker プラグインを管理する最初のステップです。
このステップでは、Docker プラグインをレジストリにプッシュする方法を学びます。プラグインをプッシュすることで、他の人と共有したり、後で使用するために保存することができます。プラグインをプッシュする前に、利用可能なプラグインが必要です。デモンストレーションのために、簡単なサンプルプラグインを使用します。
まず、サンプルのプラグインイメージを取得しましょう。ここでは vieux/sshfs
プラグインを例に使用します。このプラグインを使用すると、Docker ボリュームに SSHFS を利用できます。
docker plugin install vieux/sshfs
プラグインの機能を許可するかどうかを求められます。y
と入力して Enter キーを押します。
Plugin "vieux/sshfs" is requesting the following privileges:
- network: [host]
- mount: [/dev/fuse]
- allow-devices: [fuse]
- authz: []
- capabilities: [CAP_SYS_ADMIN]
Do you grant the plugin these privileges? [y/N] y
プラグインのインストールが完了したら、再度 docker plugin ls
コマンドを使用して、インストールと状態を確認できます。
docker plugin ls
これで vieux/sshfs
プラグインが一覧に表示され、その状態が true
(有効)になっているはずです。
ID NAME DESCRIPTION ENABLED
<plugin_id> vieux/sshfs Mount sshfs volumes true
プラグインがインストールされたので、レジストリにプッシュすることができます。プラグインをプッシュするには、docker plugin push
コマンドの後にプラグイン名を指定します。この例では、vieux/sshfs
プラグインをプッシュします。
docker plugin push vieux/sshfs
特定のレジストリ(Docker Hub など)にプッシュしていないため、このコマンドはデフォルトのレジストリにプッシュしようとします。実際のシナリオでは、まず docker login
を使用してレジストリにログインし、プッシュコマンドでレジストリを指定する必要があります(例:docker plugin push your-registry.com/vieux/sshfs
)。
出力には、プッシュ操作の進行状況が表示されます。
The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:<tag>
このコマンドは、プラグインを指定されたレジストリにプッシュします。タグが指定されていない場合、通常はデフォルトで latest
タグが使用されます。
このステップでは、特定のタグ付きで Docker プラグインをレジストリにプッシュする方法を学びます。タグ付けを行うことで、プラグインのバージョン管理や異なるリリースの管理が可能になります。
前のステップでは、vieux/sshfs
プラグインをインストールし、プッシュしました。タグを指定せずにプッシュした場合、おそらくデフォルトの latest
タグが使用されました。では、同じプラグインを特定のタグ、例えば 1.0
を付けてプッシュしてみましょう。
特定のタグ付きでプラグインをプッシュするには、docker plugin push
コマンドの後に、コロン (:
) で区切ったプラグイン名とタグを指定します。
docker plugin push vieux/sshfs:1.0
このコマンドは、タグ 1.0
付きの vieux/sshfs
プラグインをデフォルトのレジストリにプッシュします。前のステップと同様に、カスタムレジストリを使用する実際のシナリオでは、プラグイン名の前にレジストリアドレスを含める必要があります(例:docker plugin push your-registry.com/vieux/sshfs:1.0
)。
出力には、プッシュ操作の進行状況が表示され、指定されたタグ付きでプラグインがプッシュされていることが示されます。
The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:1.0
タグを使用することで、レジストリ内にプラグインの複数のバージョンを管理することができます。これは、アップデートの管理や互換性の確保に重要です。例えば、vieux/sshfs:1.0
、vieux/sshfs:1.1
、vieux/sshfs:latest
といったタグを持つプラグインを用意することで、ユーザーは必要な特定のバージョンを取得することができます。
これで Docker プラグインのプッシュに関するステップは終了です。レジストリにプラグインをプッシュする方法と、プッシュ操作中にタグを指定する方法を学びました。
この実験では、Docker プラグインの管理方法、特にプラグインの一覧表示とレジストリへのプッシュ方法を学びました。まず、docker plugin ls
コマンドを使用してインストールされたプラグインを表示し、デフォルトの環境ではリストが空になることがあることを理解しました。
その後、プラグインをレジストリにプッシュする練習を行いました。これには、サンプルプラグイン (vieux/sshfs
) のインストールと、docker plugin push
コマンドを使用した共有が含まれていました。また、特定のタグ付きでプラグインをプッシュする方法も学び、これによりレジストリ内でのバージョン管理と整理が容易になります。これらの手順は、カスタムまたはサードパーティの Docker 機能を共有および管理するために重要です。