2015-01-07 32 views
1

我想在使用docker的窗口中運行某個應用程序。由於該應用程序是一個shell腳本,我使用cygwin終端。作爲碼頭工人的新手,我沒有一個明確的想法來說明它是如何工作的。試圖運行Docker導致退出代碼127

使用boot2docker,我有一個在Windows 7中打開的碼頭終端和一個cygwin終端來運行腳本。

但是當我運行該腳本,說

./xyz init 

我收到以下錯誤

trying to run docker resulted in exit code 127 

你能告訴我什麼是基本的急救,我應該去通過解決呢?

該應用程序從vision.ai獲得,稱爲vmx。有關應用程序的信息在這裏。

https://docs.vision.ai/

你的幫助是非常讚賞。

回答

1

我認爲在路徑上找不到127意味着泊塢窗。 Similar question。在Windows泊塢窗只會在boot2docker虛擬機內工作,所以如果你在cygwin中運行腳本,它將無法工作。你必須ssh進入boot2docker虛擬機並在那裏運行你的命令。

+0

在我的情況下,我試圖將整個碼頭運行命令和參數封裝爲一個字符串。這是不正確的,並沒有工作;我決定使用參數終結符' - '如下所示:'docker run ubuntu:trusty -/usr/bin/command -a1 -b 2 argument3 argument4' – ThorSummoner

0

我會說Docker不在你的PATH中。添加C:\ Program Files \ Docker \ Docker \ Resources \ bin或相應的

0

確保您的文件具有正確的行結尾。

例如,使用Vim打開文件並運行::set fileformat=unix,然後保存該文件並再次運行Docker。

0

我得到了幾乎同樣的問題,這個問題只是在該文件結尾的窗口,它是使用CRLF代替LF,將其更改爲LF和它可能的工作,指的是這些問題的答案:

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中部署了play framework項目。

相關問題