自动补全

您可以使用 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

只要自动补全可以通过 FPATH 加载,Zsh 自动补全系统 就会处理好一切。

如果您使用 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 原生支持自动补全系统。要为 Docker 命令激活自动补全,请将自动补全脚本复制或符号链接到您的 fish shell 的 completions/ 目录

$ mkdir -p ~/.config/fish/completions
$ docker completion fish > ~/.config/fish/completions/docker.fish
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.