docker context create コマンドで Docker エンドポイントを管理する方法

DockerDockerBeginner
今すぐ練習

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

はじめに

この実験では、docker context createコマンドを使用して異なる Docker エンドポイントを効果的に管理する方法を学びます。ローカルの Docker デーモンを指す新しいコンテキストを作成し、接続を明示的に定義して切り替える方法を探求します。

さらに、既存のコンテキスト設定を活用してコンテキスト作成を効率化する方法を発見します。これには、既存のコンテキストからコピーして新しいコンテキストを作成したり、別のコンテキストの Docker エンドポイント設定を利用するコンテキストを作成したりすることが含まれます。これにより、Docker 環境の管理において柔軟性と効率性が提供されます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/ls -.-> lab-555129{{"docker context create コマンドで Docker エンドポイントを管理する方法"}} docker/inspect -.-> lab-555129{{"docker context create コマンドで Docker エンドポイントを管理する方法"}} docker/create -.-> lab-555129{{"docker context create コマンドで Docker エンドポイントを管理する方法"}} docker/images -.-> lab-555129{{"docker context create コマンドで Docker エンドポイントを管理する方法"}} end

ローカル Docker エンドポイントを持つコンテキストを作成

このステップでは、ローカルの Docker デーモンを指す Docker コンテキストを作成する方法を学びます。Docker コンテキストは、異なる Docker デーモン(ローカルまたはリモート)への接続を管理する方法です。デフォルトでは、Docker はローカルデーモンを指すdefaultコンテキストを使用しますが、新しいコンテキストを作成して接続を明示的に定義できます。

まず、既存のコンテキストを確認しましょう。

docker context ls

defaultコンテキストが表示されるはずです。

次に、ローカル Docker エンドポイントを指すmy-local-contextという新しいコンテキストを作成します。docker context createコマンドに--dockerフラグを使用して Docker エンドポイントを指定します。ローカルデーモンに接続するため、デフォルトのソケットパスを使用できます。

docker context create my-local-context --docker "host=unix:///var/run/docker.sock"

コンテキストを作成した後、再度コンテキストをリスト表示して新しく作成されたものを確認できます。

docker context ls

これでdefaultmy-local-contextの両方が表示されるはずです。アスタリスク(*)は現在アクティブなコンテキストを示し、まだdefaultのままである必要があります。

新しいコンテキストを使用するには、docker context useコマンドで切り替える必要があります。

docker context use my-local-context

再度コンテキストをリスト表示すると、my-local-contextがアクティブになっているはずです。

docker context ls

my-local-contextを使用していることを確認するために、イメージをリスト表示するなどの簡単な Docker コマンドを実行できます。

docker images

このコマンドは、my-local-contextで指定された Docker デーモンに対して実行されます。

最後に、必要に応じてデフォルトのコンテキストに戻すことができます。

docker context use default

既存コンテキストから新しいコンテキストを作成

このステップでは、既存のコンテキスト設定をコピーして新しい Docker コンテキストを作成する方法を学びます。これは、すべての詳細を再度指定することなく、既存のコンテキストを少し変更したバージョンを作成したい場合に便利です。

まず、前のステップで作成したmy-local-contextが存在することを確認しましょう。コンテキストをリスト表示して確認できます。

docker context ls

次に、my-local-contextをベースにmy-copied-contextという新しいコンテキストを作成します。docker context createコマンドを使用し、--fromフラグの後に既存コンテキスト名を指定します。

docker context create my-copied-context --from my-local-context

新しいコンテキストを作成した後、再度コンテキストをリスト表示してmy-copied-contextが表示されることを確認します。

docker context ls

これでdefaultmy-local-contextmy-copied-contextの 3 つが表示されるはずです。my-copied-contextmy-local-contextと同じ Docker エンドポイント設定を持っています。

新しいコンテキストに切り替えて設定を確認できます。

docker context use my-copied-context

再度コンテキストをリスト表示し、my-copied-contextがアクティブになっていることを確認します。

docker context ls

また、docker context inspectコマンドを使用して新しいコンテキストの設定を検査できます。

docker context inspect my-copied-context

これにより、使用する Docker エンドポイントを含むコンテキストの詳細が表示されます。my-local-contextと同様にローカルの Docker ソケットを使用するように設定されていることが確認できます。

最後に、次のステップのためにデフォルトコンテキストに戻します。

docker context use default

他のコンテキストの Docker エンドポイント設定を使用してコンテキストを作成

このステップでは、新しい Docker コンテキストを作成し、他のコンテキストの情報を参照しながら Docker エンドポイント設定を明示的に指定する方法を学びます。前のステップではコンテキスト全体をコピーする方法を示しましたが、この方法では新しいコンテキストの設定をより細かく制御できます。

まず、既存のコンテキストをリスト表示して確認しましょう。

docker context ls

defaultmy-local-contextmy-copied-contextが表示されるはずです。

次に、my-explicit-contextという新しいコンテキストを作成します。ステップ 1 と同様に--dockerフラグを使用して Docker エンドポイントを明示的に定義します。この場合、標準的なローカルソケットを使用しますが、my-local-contextなどの既存コンテキスト設定を参照して正しいエンドポイント詳細を取得することも可能です。

docker context create my-explicit-context --description "Context with explicit local endpoint" --docker "host=unix:///var/run/docker.sock"

また、--descriptionフラグを使用してコンテキストの目的を明確にする説明を追加しました。

再度コンテキストをリスト表示して、新しく作成されたmy-explicit-contextを確認します。

docker context ls

これでdefaultmy-local-contextmy-copied-contextmy-explicit-contextの 4 つが表示されるはずです。

新しいコンテキストに切り替えてアクティブにします。

docker context use my-explicit-context

もう一度コンテキストをリスト表示し、my-explicit-contextがアクティブになっていることを確認します。

docker context ls

my-explicit-contextの設定を検査して、追加した説明を含む詳細を確認することもできます。

docker context inspect my-explicit-context

この方法では、Docker エンドポイント設定を明示的に指定してコンテキストを作成できます。リモートの Docker デーモンに接続する場合や、接続詳細を正確に制御する必要がある場合に特に有用です。

まとめ

この実験では、docker context createコマンドを使用して Docker エンドポイントを管理する方法を学びました。まず、--dockerフラグとソケットパスを使用してローカルの Docker デーモンを明示的に指すmy-local-contextという新しいコンテキストを作成しました。既存のコンテキストをリスト表示する方法、docker context useでコンテキストを切り替える方法、そしてアクティブなコンテキストを確認する方法を実践しました。また、docker imagesのような Docker コマンドが現在アクティブなコンテキストに対して実行されることも確認しました。

さらに、既存のコンテキスト設定を活用して新しいコンテキストを作成する方法も学びました。これは既存の接続設定を基盤として構築する便利な方法であり、Docker エンドポイント設定の効率的な管理と再利用を可能にします。