我正在尝试在使用docker的Windows中运行某个应用程序。由于应用程序是shell脚本,我使用cygwin终端。作为码头工人的新手,我对其工作原理并不清楚。
使用boot2docker,我在Windows 7中打开了一个docker终端,并运行了一个cygwin终端来运行该脚本。
但是当我运行脚本时,请说
./xyz init
我收到以下错误
trying to run docker resulted in exit code 127
请告诉我,我应该解决这个问题的基本急救措施是什么?
该应用程序是从vision.ai获得的,称为vmx。有关申请的信息在这里。
非常感谢您的帮助。
答案 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或相应的