コマンドライン補完¶
Compose は bash と zsh シェル向けの コマンド補完 を搭載しています。
コマンドライン補完のインストール¶
Bash¶
bash 補完(completion)がインストールされているかどうか確認します。現在の Linux が最小インストールでなければ、bash 補完は利用可能です。Mac は brew install bash-completion
でインストールします。
次のようにして、補完スクリプトを /etc/bash_completion.d/
( Mac は /usr/local/etc/bash_completion.d/
)に置きます。
curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
次回ログイン時から補完機能が利用可能になります。
Zsh¶
補完スクリプトを /path/to/zsh/completion
や、~/.zsh/completion/
に置きます。
mkdir -p ~/.zsh/completion
curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/zsh/_docker-compose > ~/.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 をより速く・入力ミス(typo)なく楽しんで使いましょう!
参考
- Command-line Completion
- https://docs.docker.com/compose/completion/