Docker bash completion

表題の件について。Docker for Macを”beta17“にアップデートし、ドキュメントをざっと読んでいたら”Installing bash completion“の項目があったので確認。

■ 環境

  • Docker for Mac 1.12.0-rc2-beta17
  • Mac OSX El Capitan

■ 現状

Homebrewを普段使用しているので、下記ディレクトリ内を確認する。

/usr/local/etc/bash_completion.d

この中に、docker-machineのファイルが存在した。Homebrewで入れたものをuninstallしていないので残っているのであろう。

$ ls -l docker*
lrwxr-xr-x  1 withsin  admin  82  4 14 16:31 docker-machine-prompt.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine-prompt.bash
lrwxr-xr-x  1 withsin  admin  83  4 14 16:31 docker-machine-wrapper.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine-wrapper.bash
lrwxr-xr-x  1 withsin  admin  75  4 14 16:31 docker-machine.bash -> ../../Cellar/docker-machine/0.7.0/etc/bash_completion.d/docker-machine.bash
$

とりあえずこれらはいらないので削除しても良いと思われるのだが、docker-machine自体をuninstallしていないのでそのままにしておく。

■ Install bash completion

下記ドキュメントを参照し、そのまま実行する。

Docker for Mac > Install bash completion

$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

以降はターミナルを開きなおせば下記のようにタブを押せば出てくる。

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

以上。

■ 関連