尝试运行 Docker 导致退出代码 127

Trying to run Docker resulted in exit code 127

我正在尝试在 windows 中运行某个使用 docker 的应用程序。由于该应用程序是 shell 脚本,因此我使用 cygwin 终端。作为 docker 的新手,我不清楚它是如何工作的。

使用 boot2docker,我在 windows 7 中打开了一个 docker 终端和一个运行脚本的 cygwin 终端。

但是当我运行脚本时,说

   ./xyz init

我收到以下错误

    trying to run docker resulted in exit code 127

你能告诉我解决这个问题应该采取哪些基本急救措施吗?

应用程序是从vision.ai获得的,叫做vmx。有关应用程序的信息在这里。

https://docs.vision.ai/

非常感谢您的帮助。

我认为 127 意味着 docker 在路径上找不到。 Similar question。 On windows docker 将只在 boot2docker 虚拟机中工作,所以如果你在 cygwin 中 运行ning 脚本它不会工作。您必须通过 ssh 进入 boot2docker 虚拟机并在其中 运行 您的命令。

我会说 Docker 不在您的 PATH 中。添加C:\ProgramFiles\Docker\Docker\Resources\bin或适当

确保您的文件有正确的行结尾。

例如,使用 Vim 和 运行 打开文件::set fileformat=unix,然后保存文件并再次 运行 Docker。

我遇到了几乎相同的问题,问题只是在 windows 以该文件结尾,它使用 CRLF 而不是 LF,将其更改为 LF 它可能会起作用(使用 Notepad++、IntelliJ 或 Visual Code),参考这些答案:

How do I set all files in a subdirectory to use a specific eol using gitattributes?

所以我的 .gitattributes 文件现在是这样的:

* text=auto
/docker/* text eol=lf
/ci/* text eol=lf
/sbt text eol=lf
/docker-*.sh text eol=lf
/sbt-dist/bin/*.bash text eol=lf
/sbt-dist/bin/sbt text eol=lf

这些属性是因为我在 docker.

中部署了 play framework 项目

我在 AWS CodeBuild 中构建时遇到了同样的错误。问题是命令

中的 sudo

在 buildspec.yml 文件中,我必须更改:

sudo docker build -t xxxx:xxxx

docker build -t xxxx:xxxx

这里有一些 bulk/recursive 行结束转换的资源,有时可能是导致此问题的原因: https://gist.github.com/search?q=dos2unix