完成

你可以使用docker completion命令为Docker CLI生成一个shell自动补全脚本。当你输入终端时按下键,自动补全脚本会为你提供命令、标志和Docker对象(如容器和卷名)的单词补全。

您可以为以下shell生成完成脚本:

Bash

要使用Bash获取Docker CLI的自动补全功能,首先需要安装包含多个用于shell自动补全的Bash函数的bash-completion包。

# 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 shell 原生支持一个 补全系统。 要为 Docker 命令激活补全功能,请将补全脚本复制或符号链接到您的 fish shell completions/ 目录中:

$ mkdir -p ~/.config/fish/completions
$ docker completion fish > ~/.config/fish/completions/docker.fish