3

У меня есть Docker для Windows, и я недавно начал использовать Bash для Windows. Мне удалось заставить docker в bash показывать контейнеры и изображения из моих окон, добавив следующие строки в мой файл .bashrc :

PATH="$HOME/bin:$HOME/.local/bin:$PATH"
PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"

(Поэтому я не использовал apt-get install)

И я также объявил псевдоним в .bashrc так: alias docker='docker.exe'

Теперь, когда я набираю docker ps он покажет контейнеры, работающие на моих окнах.

Сначала у меня не было завершения команды вообще. Ввод docker lo последующим нажатием клавиши tab ничего не сделал (вместо того, чтобы, например, завершить docker logs , поэтому я погуглил и наткнулся на следующую команду:

sudo curl -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker

Теперь у меня есть завершение команды, но нет завершения для имен изображений и контейнеров.

Есть ли способ заставить его работать? Должен ли я установить докер непосредственно в подсистему Ubuntu?

(Я не был уверен, является ли это правильным обменом стека для этого или askubuntu. Если я должен спросить об этом где-то еще, пожалуйста, дайте мне знать)

1 ответ1

1

Вы можете установить Zsh:

Поместите скрипт завершения в ваш /path/to/zsh/completion (обычно ~/.zsh/completion/):

$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

Включите каталог в ваш $fpath , добавив в ~/.zshrc:

fpath=(~/.zsh/completion $fpath)

Убедитесь, что compinit загружен, или сделайте это, добавив в ~/.zshrc:

autoload -Uz compinit && compinit -i

Затем перезагрузите вашу оболочку:

exec $SHELL -l


Первоисточник: https://docs.docker.com/compose/completion/#zsh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .