Docker shell completion on OSX iTerm2 oh-my-zsh

agusgambina picture agusgambina · Aug 4, 2017 · Viewed 11.2k times · Source

I am trying to get Docker shell completion on this stack (OSX iTerm2 oh-my-zsh)

I followed this guide -> https://docs.docker.com/compose/completion/

First I executed this

$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

Then I added this two lines almost at the end ~/.zshrc file

fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i

Then in the terminal I run

source ~/.zshrc
exec $SHELL -l

But when I press tab it suggest the files and folders on the path

Answer

mgyongyosi picture mgyongyosi · Aug 5, 2017

You set up the completion for docker-compose not for docker. If you would like add the docker completion too then run the following command and reload your shell.

curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/zsh/_docker > ~/.zsh/completion/_docker 

Other solution (UPDATE):

Add the docker plugin to the .zshrc's plugin list:

  1. Open ~/.zshrc
  2. Add docker to the plugins list like this: plugins=(docker ...)