我有适用于 Windows 的 Docker,最近开始使用适用于 Windows 的 Bash。我设法通过向文件中添加以下几行来使 Bash 中的 Docker 显示来自 Windows 的容器和图像.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
例如,所以我用 Google 搜索并偶然发现了以下命令:
sudo curl -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker
现在我已经完成了命令,但没有完成图像和容器名称。
有什么办法可以让它工作吗?我应该直接在 ubuntu 子系统上安装 docker 吗?
(我不确定这是否是适合这个问题的 stackexchange 或 askubuntu。如果我应该在其他地方询问这个问题,请告诉我)
答案1
您可以安装扎什:
将完成脚本放在您的/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
然后重新加载你的 shell:
exec $SHELL -l