docker context show コマンドで現在のコンテキストを表示する方法

DockerDockerBeginner
今すぐ練習

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

はじめに

この実験では、docker context show コマンドを使用して現在アクティブな Docker コンテキストを表示する方法を学びます。最初に、ローカルの Docker デーモンに接続するデフォルトのコンテキストを表示します。

その後、新しい Docker コンテキストを作成し、この新しいコンテキストに切り替えて docker context show を使用して変更を確認します。最後に、デフォルトのコンテキストに戻り、docker context show コマンドをシェルプロンプトに統合して現在の Docker 接続を簡単に確認できる方法を探ります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555135{{"docker context show コマンドで現在のコンテキストを表示する方法"}} docker/create -.-> lab-555135{{"docker context show コマンドで現在のコンテキストを表示する方法"}} docker/info -.-> lab-555135{{"docker context show コマンドで現在のコンテキストを表示する方法"}} docker/system -.-> lab-555135{{"docker context show コマンドで現在のコンテキストを表示する方法"}} end

デフォルトの Docker コンテキストを表示する

このステップでは、デフォルトの Docker コンテキストを表示する方法を学びます。Docker コンテキストは、異なる Docker デーモンに接続する方法です。デフォルトでは、Docker は default コンテキストを使用し、これはローカルマシンで実行されている Docker デーモンに接続します。

現在の Docker コンテキストを表示するには、docker context show コマンドを使用します。

docker context show

出力として default が表示され、現在デフォルトの Docker コンテキストを使用していることが確認できます。

新しい Docker コンテキストを作成する

このステップでは、新しい Docker コンテキストを作成します。新しいコンテキストを作成することで、リモートマシンや別のローカル設定にある異なる Docker デーモンへの接続パラメータを定義できます。

ここでは、ローカルの Docker デーモンに接続する my-context という名前のコンテキストを作成します。ローカル接続では冗長に思えるかもしれませんが、コンテキスト作成のプロセスを実演するものです。

新しいコンテキストを作成するには、docker context create コマンドに続けてコンテキスト名を指定します。また、--docker フラグを使用して Docker デーモンのエンドポイントを指定する必要があります。ローカルデーモンの場合、エンドポイントは通常 unix:///var/run/docker.sock です。

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

コマンドを実行すると、my-context コンテキストが作成されたことを示す出力が表示されます。

コンテキストが作成されたことを確認するには、docker context ls コマンドを使用して利用可能なすべてのコンテキストを一覧表示します。

docker context ls

出力には default コンテキストと共に my-context がリスト表示されるはずです。

新しい Docker コンテキストに切り替えて表示する

このステップでは、前のステップで作成した新しい Docker コンテキストに切り替え、現在アクティブなコンテキストを表示して切り替えを確認します。

異なる Docker コンテキストに切り替えるには、docker context use コマンドの後に使用したいコンテキスト名を指定します。今回のケースでは、コンテキスト名は my-context です。

docker context use my-context

コンテキストが my-context に切り替わったことを確認する出力が表示されるはずです。

次に、docker context show コマンドを使用して現在の Docker コンテキストを再度表示し、実際に my-context を使用していることを確認しましょう。

docker context show

このコマンドの出力は my-context となり、切り替えが成功したことを示します。

デフォルトコンテキストに戻して表示する

このステップでは、デフォルトの Docker コンテキストに戻します。これは、別のコンテキストで作業していた後で標準のローカル Docker デーモンに戻したい場合に便利です。

デフォルトコンテキストに戻すには、docker context use コマンドの後にデフォルトコンテキスト名である default を指定します。

docker context use default

コンテキストが default に戻ったことを確認する出力が表示されるはずです。

次に、docker context show コマンドを使用して現在の Docker コンテキストを再度表示し、実際に default コンテキストに戻っていることを確認しましょう。

docker context show

このコマンドの出力は default となり、切り替えが成功したことを確認できます。

シェルプロンプトに docker context show を統合する

このステップでは、docker context show コマンドをシェルプロンプトに統合します。これにより、現在の Docker コンテキストをターミナルプロンプトに直接表示できるようになり、どの Docker デーモンとやり取りしているかを簡単に把握できます。

Zsh シェルの設定ファイルであるホームディレクトリの .zshrc ファイルを修正します。現在の Docker コンテキストを取得する関数を追加し、その関数の出力をプロンプト文字列に含めます。

まず、nano エディタで .zshrc ファイルを開きます:

nano ~/.zshrc

ファイルの末尾までスクロールし、以下の行を追加します:

## Function to get current Docker context
get_docker_context() {
  docker context show 2> /dev/null
}

## Add Docker context to prompt
PROMPT='$(get_docker_context) %~ %## '

これらの行を分解して説明します:

  • get_docker_context(): get_docker_context という名前の新しいシェル関数を定義します
  • docker context show 2>/dev/null: 関数内で現在の Docker コンテキストを取得します。2>/dev/null はエラー出力を /dev/null にリダイレクトし、Docker が実行されていない場合や問題がある場合にプロンプトが乱れるのを防ぎます
  • PROMPT='$(get_docker_context) %~ %## ': PROMPT 環境変数を設定し、シェルプロンプトの表示を定義します
    • $(get_docker_context): get_docker_context 関数を実行し、その出力をプロンプトに含めます
    • %~: 現在の作業ディレクトリを表示し、ホームディレクトリは ~ と省略表示されます
    • %#: root ユーザーの場合は # を、通常ユーザーの場合は % を表示します

Ctrl + X、次に Y、そして Enter を押してファイルを保存します。

現在のターミナルセッションに変更を適用するには、.zshrc ファイルをソースします:

source ~/.zshrc

ファイルをソースした後、シェルプロンプトには現在の Docker コンテキスト(デフォルトでは default)が現在のディレクトリの前に表示されるはずです。

my-context に再度切り替えてテストできます:

docker context use my-context

プロンプトが更新され、my-context と現在のディレクトリが表示されます。

次にデフォルトコンテキストに戻します:

docker context use default

プロンプトは default を表示するように戻ります。

まとめ

この実験では、docker context show コマンドを使用して Docker コンテキストを管理する方法を学びました。まず、ローカルデーモンに接続するデフォルトの Docker コンテキストを表示することから始めました。次に、my-context という名前の新しいコンテキストを作成し、異なるデーモン(この例では同じローカルデーモンですが)に対する接続パラメータを定義するプロセスを実演しました。

作成後、docker context use を使用して新しく作成したコンテキストに切り替える練習を行い、docker context show でアクティブなコンテキストを確認しました。この実践的な経験を通じて、異なる Docker 環境間を移動し、現在の接続ポイントを確認する方法についての理解を深めました。