シェルプロンプトに 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
を表示するように戻ります。