How to add bash command completion for Docker on Mac OS X?

If you have already homebrew bash-completion installed just install the docker completion script into the bash_completion.d

curl -XGET https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker > $(brew --prefix)/etc/bash_completion.d/docker

Note: If you do not have homebrew bash-completion installed, follow these instructions to install it before you execute the line above.

Note: the completion depends on some functions defined in debian bash-completion. Therefore, just sourcing the docker completion script as described in completion/bash/docker may not work. If you try to complete docker run (by hitting TAB) you may get an error like __ltrim_colon_completions: command not found. This could mean that you have not installed the bash-completion scripts.


The official Docker for Mac page has a section on installing bash completion:

https://docs.docker.com/docker-for-mac/#bash

If you have Homebrew bash completion installed:

cd /usr/local/etc/bash_completion.d
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

Tags:

Docker

Macos