コマンドライン補完¶
Compose は bash と zsh シェル対応の コマンド補完 を搭載しています。
コマンドライン補完のインストール¶
Bash¶
bash 補完(completion)がインストールされているかどうか確認します。
Linux¶
現在の Linux OSでは(最小インストールでなければ)、bash 補完を利用可能でしょう。
補完スクリプトを
/etc/bash_completion.d/
に置きます。
$ sudo curl \
-L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \
-o /etc/bash_completion.d/docker-compose
ターミナルを再読み込みします。ターミナルを閉じて新しいものを開くか、あるいは現在のターミナルで
source ~/.bashrc
コマンドで再読み込みします。
Mac¶
Homebrew 経由でインストール¶
brew install bash-completion
でインストールします。
インストール後、 Brew はインストールのパスを表示します。そのパスに補完スクリプトを置きます。
次の例は /usr/local/etc/bash_completion.d/
に補完スクリプトを置きます。
sudo curl \
-L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \
-o /usr/local/etc/bash_completion.d/docker-compose
自分の
~/.bash_profile
に以下を追加します。
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
補完を使えるようにするには、
~/.bash_profile
を source で読み直すか、新しいターミナルを起動します。
MacPorts 経由でインストール¶
bash 補完をインストールするには
sudo port install bash-completion
を実行します。
~/.bash_profile
に以下の行を追加します。
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
補完を使えるようにするには、
~/.bash_profile
を source で読み直すか、新しいターミナルを起動します。
Zsh¶
コンピュータ上に oh-my-zsh がインストールされている のを確認します。
oh-my-zsh シェル上で自動補完を使うには、 ~/.zshrc
のプラグイン一覧に docker
と docker-compose
を追加します。以下の例で ...
が示すのは、インストール済みの他の Zsh プラグインです。その後、変更を反映するために source ~/.zshrc
を入力します。成功したかどうかを試すには、 docker ps
を入力し、 Tab キーを押します。
plugins=(... docker docker-compose)
補完スクリプトを
/path/to/zsh/completion
に置きます(通常は~/.zsh/completion/
)。
mkdir -p ~/.zsh/completion
curl \
-L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/zsh/_docker-compose \
-o ~/.zsh/completion/_docker-compose
~/.zshrc
の$fpath
のディレクトリに追加します。
fpath=(~/.zsh/completion $fpath)
compinit
を読み込み~/.zshrc
に追加されているか確認します。
autoload -Uz compinit && compinit -i
それからシェルを再読み込みします。
exec $SHELL -l
利用可能な補完について¶
コマンドラインの補完は、入力する内容に依存します。
利用可能な docker-compose コマンド
個々のコマンドで利用可能なオプション
指定した状態にあるサービス名(例:サービスが実行中、停止中、サービスの元になったイメージ、あるいは Dockerfile の元となるサービス)。
docker-compose scale
の補完では、サービス名に自動的に "=" を追加します。選択したオプションに対する引数。たとえば
docker-compose kill -s
は SIGHUP や SIGUSR1 のようなシグナルを補完します。
Compose をより速く、