补全
目录
您可以使用 docker completion
命令为 Docker CLI 生成 shell 补全脚本。在终端中输入命令时,按下 <Tab>
键,该补全脚本可以为您提供命令、标志以及 Docker 对象(如容器和卷名称)的单词补全。
您可以为以下 shell 生成补全脚本:
Bash
要在 Bash 中使用 Docker CLI 补全,您首先需要安装 bash-completion
包,该包包含许多用于 shell 补全的 Bash 函数。
# Install using APT:
sudo apt install bash-completion
# Install using Homebrew (Bash version 4 or later):
brew install bash-completion@2
# Homebrew install for older versions of Bash:
brew install bash-completion
# With pacman:
sudo pacman -S bash-completion
安装 bash-completion
后,在您的 shell 配置文件(本例中为 .bashrc
)中加载该脚本
# On Linux:
cat <<EOT >> ~/.bashrc
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
EOT
# On macOS / with Homebrew:
cat <<EOT >> ~/.bash_profile
[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"
EOT
并重新加载您的 shell 配置
$ source ~/.bashrc
现在,您可以使用 docker completion
命令生成 Bash 补全脚本
$ mkdir -p ~/.local/share/bash-completion/completions
$ docker completion bash > ~/.local/share/bash-completion/completions/docker
Zsh
Zsh 补全系统 会处理相关事项,前提是可以使用 FPATH
加载补全。
如果您使用 Oh My Zsh,可以将补全脚本存储在 ~/.oh-my-zsh/completions
目录中,而无需修改 ~/.zshrc
。
$ mkdir -p ~/.oh-my-zsh/completions
$ docker completion zsh > ~/.oh-my-zsh/completions/_docker
如果您未使用 Oh My Zsh,请将补全脚本存储在您选择的目录中,并将该目录添加到 .zshrc
中的 FPATH
。
$ mkdir -p ~/.docker/completions
$ docker completion zsh > ~/.docker/completions/_docker
$ cat <<"EOT" >> ~/.zshrc
FPATH="$HOME/.docker/completions:$FPATH"
autoload -Uz compinit
compinit
EOT
Fish
fish shell 原生支持 补全系统 natively. To activate completion for Docker commands, copy or symlink the completion script to your fish shell completions/
directory
$ mkdir -p ~/.config/fish/completions
$ docker completion fish > ~/.config/fish/completions/docker.fish