Autocompletado (Completion)
Puedes generar un script de autocompletado de shell para la CLI de Docker utilizando el comando docker completion. El script de autocompletado te proporciona completado de palabras para comandos, banderas y objetos de Docker (como nombres de contenedores y volúmenes) al pulsar <Tab> mientras escribes en tu terminal.
Puedes generar scripts de autocompletado para los siguientes shells:
Bash
Para obtener el autocompletado de la CLI de Docker con Bash, primero debes instalar el paquete bash-completion, que contiene una serie de funciones de Bash para el autocompletado de la shell.
# Instalar usando APT:
sudo apt install bash-completion
# Instalar usando Homebrew (Bash versión 4 o posterior):
brew install bash-completion@2
# Instalación de Homebrew para versiones anteriores de Bash:
brew install bash-completion
# Con pacman:
sudo pacman -S bash-completionDespués de instalar bash-completion, carga (source) el script en tu archivo de configuración de shell (en este ejemplo, .bashrc):
# En Linux:
cat <<EOT >> ~/.bashrc
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
EOT
# En macOS / con Homebrew:
cat <<EOT >> ~/.bash_profile
[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"
EOTY recarga la configuración de tu shell:
$ source ~/.bashrc
Ahora puedes generar el script de autocompletado de Bash utilizando el comando docker completion:
$ mkdir -p ~/.local/share/bash-completion/completions
$ docker completion bash > ~/.local/share/bash-completion/completions/docker
Zsh
El sistema de autocompletado de Zsh se encarga de todo siempre que se pueda acceder al script a través de FPATH.
Si utilizas Oh My Zsh, puedes instalar los autocompletados sin modificar tu archivo ~/.zshrc guardando el script de autocompletado en el directorio ~/.oh-my-zsh/completions.
$ mkdir -p ~/.oh-my-zsh/completions
$ docker completion zsh > ~/.oh-my-zsh/completions/_docker
Si no utilizas Oh My Zsh, guarda el script de autocompletado en el directorio de tu elección y añade el directorio a la variable FPATH en tu .zshrc.
$ mkdir -p ~/.docker/completions
$ docker completion zsh > ~/.docker/completions/_docker
$ cat <<"EOT" >> ~/.zshrc
FPATH="$HOME/.docker/completions:$FPATH"
autoload -Uz compinit
compinit
EOT
Fish
El shell fish admite un sistema de autocompletado de forma nativa.
Para activar el autocompletado en comandos de Docker, copia o crea un enlace simbólico del script de autocompletado en el directorio completions/ de tu shell fish:
$ mkdir -p ~/.config/fish/completions
$ docker completion fish > ~/.config/fish/completions/docker.fish