2017-05-16 172 views
0

創建一個碼頭文件,但無法運行軌道設置腳本,即執行./bin/setupDockerfile - 如何運行腳本?

我在做什麼錯? RUN /bin/bash -C "/usr/src/app/bin/setup"這不起作用。

我也試過這個RUN ./bin/setup(這也不起作用!)

Dockerfile

FROM ruby:2.3 

RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/* 

ENV RAILS_VERSION 5 

RUN gem install rails --version "$RAILS_VERSION" 

WORKDIR /usr/src/app 
COPY . . 
# setup does not run, why? 
RUN /bin/bash -C "/usr/src/app/bin/setup" 

... 
+1

當docker構建容器時,獲得的確切錯誤信息是什麼? – Gabbax0r

+0

'/ usr/src/app/bin/setup'執行的結果是什麼? –

+0

我發現這個問題,這是我的錯,腳本執行,但有一些錯誤,我在設置文件上使用「dos2unix」,它工作! – 001

回答

1

我面臨着類似的DOS/UNIX的問題。我做了一個在Windows中的文件git檢查,並將其添加到碼頭圖像(Linux)。如果是這種情況sed是你的朋友。只需添加以下到您的Dockerfile

RUN /bin/sed s/\\r//g -i /usr/src/app/bin/setup 

可能會節省您安裝一個額外的包。希望它有幫助!