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

时间:2015-01-07 13:09:32

标签: cygwin docker boot2docker

我正在尝试在使用docker的Windows中运行某个应用程序。由于应用程序是shell脚本,我使用cygwin终端。作为码头工人的新手,我对其工作原理并不清楚。

使用boot2docker,我在Windows 7中打开了一个docker终端,并运行了一个cygwin终端来运行该脚本。

但是当我运行脚本时,请说

   ./xyz init

我收到以下错误

    trying to run docker resulted in exit code 127

请告诉我,我应该解决这个问题的基本急救措施是什么?

该应用程序是从vision.ai获得的,称为vmx。有关申请的信息在这里。

https://docs.vision.ai/

非常感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

我遇到了几乎相同的问题,问题只是在Windows中以该文件结尾,它使用CRLF代替LF,将其更改为LF并且可能有效(使用Notepad ++,IntelliJ或Visual Code),参考这些答案:

env: bash\r: No such file or directory

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中部署了游戏框架项目。

答案 1 :(得分:1)

我认为127意味着在路径上找不到码头工人。 Similar question。在Windows上,docker只能在boot2docker vm内部工作,所以如果你在cygwin中运行脚本,它将无法工作。你必须ssh进入boot2docker vm并在那里运行你的命令。

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

在AWS CodeBuild中构建时遇到相同的错误。问题是命令中的sudo

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

sudo docker build -t xxxx:xxxx

docker build -t xxxx:xxxx

答案 4 :(得分:0)

我想说Docker不在你的PATH中。添加C:\ Program Files \ Docker \ Docker \ Resources \ bin或相应的