CLI 完成
目錄
您可以使用 docker completion
命令為 Docker CLI 生成 shell 完成指令碼。完成指令碼在您在終端中鍵入時,當您按 <Tab>
鍵時,會為您提供命令、標誌和 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
只要可以使用 FPATH
載入完成,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=(~/.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