Подтвердить что ты не робот

Как добавить завершение команды bash для Docker в Mac OS X?

Я запускаю докер и хочу bash выполнить команду для docker команд и параметров.

4b9b3361

Ответ 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