Cómo agregar la finalización de comandos bash para Docker en Mac OS X?
Estoy ejecutando docker y quiero bash
completar el comando para docker
comandos y parámetros.
6 answers
Si ya tienes homebrew bash-completion
instalado {[8] } simplemente instale el script de finalización de docker en el bash_completion.d
curl -XGET https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker > $(brew --prefix)/etc/bash_completion.d/docker
Nota: Si no tiene homebrew bash-completion
instalado, siga estas instrucciones para instalarlo antes de ejecutar la línea anterior.
Nota: la finalización depende de algunas funciones definidas en debian bash-completion. Por lo tanto, simplemente obtenga el script de finalización de docker como se describe en completion/bash/docker puede no funcionar. Si intenta completar docker run
(pulsando TAB) puede obtener un error como __ltrim_colon_completions: command not found
. Esto significa que no ha instalado los scripts bash-completion.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-03 20:56:50
La página oficial de Docker para Mac tiene una sección sobre la instalación de finalización de bash:
Https://docs.docker.com/docker-for-mac/#/installing-bash-completion
Si tiene instalado Homebrew bash completion:
cd /usr/local/etc/bash_completion.d
ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-10 18:08:51
Los scripts de finalización vienen con Docker Beta. Quiero que estén al día. Entonces, en OS X...
- Install homebrew's bash-completion
-
Enlace simbólico a los archivos
find /Applications/Docker.app \ -type f -name "*.bash-completion" \ -exec ln -s "{}" "$(brew --prefix)/etc/bash_completion.d/" \;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-06 19:07:28
El punto de tropiezo para mí fue que una vez que usted brew instalar bash-competion, usted tiene que añadir algunas líneas en su .bash_profile para cargarlo una vez que inicie Terminal:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Fuente: http://davidalger.com/development/bash-completion-on-os-x-with-brew /
Debido a que no he encontrado en ningún lugar una documentación paso a paso, he hecho un script rápido para instalar homebrew, bash-completion y, finalmente, los scripts de finalización para docker. https://github.com/HypnoTheNomad/docker-bash-completion-macos-brew
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-31 22:10:42
La finalización automática de docker no solo es necesaria para mac, también es necesaria para terminales ubuntu / bash.
En Ubuntu
curl -ksSL https://raw.githubusercontent.com/docker/docker/$(docker --version | awk 'NR==1{print $NF}')/contrib/completion/bash/docker |sudo tee /etc/bash_completion.d/docker
La finalización estará disponible en el próximo inicio de sesión.
Desde su primer resultado en Google he añadido respuesta aquí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-18 07:23:37
Solo para ser dicho:
si usa brew :
brew install docker
haré todo lo que necesites. Incluye brew link docker
que instala la terminación en `brew --prefix`/etc/bash_completion.d/docker
mismo tema, misma respuesta para docker-machine
, docker-compose
, etc. ...
De lo contrario (tal vez esté utilizando Docker Beta (nuevo paquete de instalación de docker" más nativo " sin Virtualbox) todavía tiene que agregarlo manualmente, luego siga La respuesta de Michael además de echar un vistazo a los scripts de finalización adicionales para docker-machine, docker-compose y algunos shell-helper que se manejan en el'script' desde CodeCorrupt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:12