將MyBinFile.bin複製到/tmp/MyBinFile.bin。這些不是同一個文件。如果您需要運行它,請使用具有可執行屬性的文件的絕對路徑。所以你的最後一行應該是:
RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin
'。' (點)代表你當前的工作目錄。如果您不確定您的密碼是什麼,建議您始終使用絕對路徑。
編輯
運行你Dockerfile產生以下的輸出:
Sending build context to Docker daemon 3.584 kB
Step 1/6 : FROM debian:jessie
---> 8cedef9d7368
Step 2/6 : RUN apt-get update && apt-get install -y openjdk-7-jdk
---> Using cache
---> 1a0005923f41
Step 3/6 : ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
---> Using cache
---> 5651d50b519e
Step 4/6 : RUN echo $JAVA_HOME
---> Using cache
---> 96655235a2cf
Step 5/6 : COPY MyBinFile.bin /tmp/MyBinFile.bin
---> 60c79aaf5aca
Removing intermediate container cd729c315e9b
Step 6/6 : RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin
---> Running in 5db126cbd24c
/bin/sh: 1: /tmp/MyBinFile.bin: Text file busy
The command '/bin/sh -c chmod +x /tmp/MyBinFile.bin &&
/tmp/MyBinFile.bin' returned a non-zero code: 2
但是,如果我是你最後一個步驟分爲兩個不同的步驟:
FROM debian:jessie
RUN apt-get update && apt-get install -y openjdk-7-jdk
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
RUN echo $JAVA_HOME
COPY MyBinFile.bin /tmp/MyBinFile.bin
RUN chmod +x /tmp/MyBinFile.bin
RUN /tmp/MyBinFile.bin
然後執行確定。
您的cwd可能不是/ tmp,因此請嘗試將其作爲絕對路徑執行。 –
@TatsuyukiIshi:對不起,這是一個錯字, 我在問題中修復了我的docker文件。 – Akki
什麼是MyBinFile.bin?你是否從Windows機器編輯這個文件? – BMitch