Я запускаю докер и хочу bash
выполнить команду для docker
команд и параметров.
Как добавить завершение команды bash для Docker в Mac OS X?
Ответ 1
Если вы уже установили bash-completion
homebrew, просто установите скрипт завершения docker в bash_completion.d
curl -XGET https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker > $(brew --prefix)/etc/bash_completion.d/docker
Примечание. Если у вас не установлена версия bash-completion
homebrew, следуйте этим инструкциям, чтобы установить ее, прежде чем выполнить приведенную выше строку.
Примечание: завершение зависит от некоторых функций, определенных в Debian Bash-complete. Поэтому простое использование сценария завершения докера, как описано в завершении /bash/docker, может не сработать. Если вы попытаетесь завершить docker run
__ltrim_colon_completions: command not found
(нажав TAB), вы можете получить сообщение об ошибке типа __ltrim_colon_completions: command not found
. Это может означать, что вы не установили сценарии завершения bash.
Ответ 2
На официальной странице Docker для Mac есть раздел по установке завершения bash:
https://docs.docker.com/docker-for-mac/#bash
Если у вас установлено дополнение Homebrew:
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
Ответ 3
Скрипты завершения поставляются с бета-версией Docker. Я хочу, чтобы они были в курсе последних событий. Итак, на OS X...
- Установить homebrew bash -completion
-
Symlink файлы
find /Applications/Docker.app \ -type f -name "*.bash-completion" \ -exec ln -s "{}" "$(brew --prefix)/etc/bash_completion.d/" \;
Ответ 4
Мне показалось, что когда вы brew устанавливаете bash -competion, вам нужно добавить несколько строк в свой .bash_profile, чтобы загрузить его после запуска терминала:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Источник: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
Поскольку я нигде не нашел пошаговой документации, я сделал быстрый script для установки homebrew, bash -комплекс и в конечном итоге скрипты завершения для докеров. https://github.com/HypnoTheNomad/docker-bash-completion-macos-brew
Ответ 5
Автозаполнение докеров необходимо не только для mac, но и для терминалов ubuntu/ bash.
В 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
Завершение будет доступно при следующем входе в систему.
Поскольку его главный результат в google, я добавил здесь ответ.
Ответ 6
Просто, чтобы сказать:
если вы используете brew:
brew install docker
сделает все, что вам нужно. Он включает brew link docker
, который устанавливает завершение в `brew --prefix`/etc/bash_completion.d/docker
ту же тему, тот же ответ для docker-machine
, docker-compose
и т.д....
else (возможно, вы используете Docker Beta (новый "более собственный" установочный пакет докеров без Virtualbox), вам все равно придется добавить его вручную, затем следуйте Michael answer plus взгляните на дополнительные скрипты завершения для docker-machine, docker-compose и некоторого shell-helper, которые обрабатываются в 'script' из CodeCorrupt