bash で docker のサブコマンドやコンテナ ID を補完する

Ubuntu に Docker をインストールしたのですが補完が効いていなかった為、有効にしてみました。

私の環境ではそもそも bash-completion が入っていなかったので、インストールしました。

1
sudo apt-get install -y bash-completion

後は補完用のファイルを /etc/bash_completion.d に配置して完了です。

1
sudo wget https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker -O /etc/bash_completion.d/docker-completion.sh

これで docker コマンドに続けて Tab x 2 を押すことでサブコマンドやコンテナ ID が補完されるようになりました。

1
2
3
4
5
6
7
$ docker [Tab x 2]
attach   diff     images   login    port     rm       start    unpause
build    events   import   logout   ps       rmi      stats    update
commit   exec     info     logs     pull     run      stop     version
cp       export   inspect  network  push     save     swarm    volume
create   help     kill     node     rename   search   tag      wait
daemon   history  load     pause    restart  service  top