Search code examples
dockeriterm2oh-my-zsh

Docker shell completion on OSX iTerm2 oh-my-zsh


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


Solution

  • 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 ...)