8

我已经阅读(并尝试过)这个: https ://docs.docker.com/machine/completion/

但这似乎不是正确的方法。

有人知道如何在 Mintty(来自 Git for windows)bash 命令行中获取 docker 完成命令吗?

4

1 回答 1

11

不确定这是否是最好的方法,或者它是否可以正常工作,但它似乎有效!如果您发现任何奇怪的行为,请告诉我...

最低要求:

  • 适用于 Windows 的 Git(git bash / mintty 终端)
  • 7-Zip 或类似的解压文件

安装:

首先,您将需要 bash-completion 包。

我发现为 cygwin 构建的软件包有效。

  1. 选择cygwin镜像:https ://cygwin.com/mirrors.html
  2. 导航到:/cygwin/noarch/release/bash-completion/
  3. 下载:bash-completion-2.7-1.tar.xz
  4. 在别处提取
  5. etcandusr文件夹复制到C:\Program Files\Git请参阅下面的注释

完成,现在您应该启用命令完成功能。


测试:

您可以通过打开 git bash 终端并输入以下命令来测试它:

curl --ver(按两次标签)

它会建议这样的事情:

$ curl --ver
--verbose  --version

码头工人命令:

现在,关于 docker 命令...

我在这里找到了我的文件:

docker命令: https ://github.com/docker/docker-ce/blob/v17.09.0-ce/components/cli/contrib/completion/bash/docker

docker-compose命令: https ://github.com/docker/compose/blob/1.16.1/contrib/completion/bash/docker-compose

docker-machine命令: https ://github.com/docker/machine/blob/v0.12.2/contrib/completion/bash/docker-machine.bash

只需下载并将它们复制到: C:\Program Files\Git\usr\share\bash-completion\completions\

确保它们被正确命名(如果有,请删除文件扩展名)。

它应该这样命名:

  • docker
  • docker-compose
  • docker-machine

没有额外的 .txt 或其他什么...

docker 命令完成


一些注意事项:

我不确定该软件包bash-completion-2.7.1是否是与 git bash 一起使用的最佳版本,我刚刚获得了最新版本。(您可以比较它们并找出答案)

您不需要从 复制所有文件/usr/share/bash-completion/completions/,只需复制您想要的文件即可。(我没有复制其中任何一个)。

docker version运行,并检查您正在运行的版本是个好主意docker-compose version,然后从存储库下载正确的文件。docker-machine version(为您选择正确的发布标签)。

于 2017-12-09T18:47:37.073 回答