在OSX iTerm2 oh-my-zsh上完成Docker shell

agu*_*ina 12 iterm2 docker oh-my-zsh

我试图在这个堆栈上完成Docker shell的完成(OSX iTerm2 oh-my-zsh)

我按照本指南 - > https://docs.docker.com/compose/completion/

首先我执行了这个

$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose
Run Code Online (Sandbox Code Playgroud)

然后我几乎在结束~/.zshrc文件中添加了这两行

fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
Run Code Online (Sandbox Code Playgroud)

然后在终端我跑

source ~/.zshrc
exec $SHELL -l
Run Code Online (Sandbox Code Playgroud)

但是,当我按下tab它时,建议路径上的文件和文件夹

mgy*_*osi 28

您设置完成时docker-compose不是docker.如果您还想添加docker完成,请运行以下命令并重新加载shell.

curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/zsh/_docker > ~/.zsh/completion/_docker 
Run Code Online (Sandbox Code Playgroud)

其他解决方案(UPDATE):

docker插件添加到.zshrc的插件列表:

  1. 打开〜/ .zshrc
  2. docker像这样添加到插件列表: plugins=(docker ...)

  • 我尝试了所有操作,但Docker自动完成功能在iterm2上不起作用。这个答案为我解决了这个问题,希望对您有所帮助:/sf/answers/3178462661/ (5认同)
  • 首先确保`docker`.然后它工作 (4认同)
  • 它可以工作,但如果您尝试运行 docker exec -it 则不会列出容器 (2认同)

Tob*_*olb 11

oh-my-zsh通过运行确保您拥有最新版本:upgrade_oh_my_zsh

此外,rm ~/.zcompdump*在尝试所有其他答案后跑步也无妨。

为我修好了。