まえがき
docker-compose が docker のサブコマンドになって久しいですが、Docker 公式が用意している Zsh 補完ではなかなかこのサブコマンドがサポートされません。
不便すぎるのでなんとかしたいのですが、とはいえ Issue とか見ているとそろそろ対応されそうな予感はするので、できるだけ手軽な方法でなんとかしたいなと思います。
補完の設定
怠惰な人の多くは以下のように docker compose
コマンドのエイリアスを設定しているんじゃないかと思います。
~/.zshrc
alias dc="docker compose"
これには自動で docker
コマンドの補完が付いてくるのですが、それの代わりに旧来の docker-compose
コマンドの補完を使うように設定します。
もちろんそのためには docker-compose
のセットアップが必要なんですけど、過渡期なのでまだ残ってる人も多いでしょう。
~/.zshrc
function dc() {
docker compose "$@"
}
compdef dc=docker-compose
やり方はいろいろあるとは思うんですけど、こんな風に設定してみました。