2016-08-16 1 views
0

が見つかりません:Dockerfile:コマンドドッキングウィンドウの画像を実行する必要がありますどのような

-bash-4.2$ pwd 
/u/workspaces/compose/src 

-bash-4.2$ ls 
compileAndTest 

-bash-4.2$ vim compileAndTest 
#!/usr/bin/env bash 

echo 'hi' 

Dockerfile

-bash-4.2$ pwd 
/u/mybuild 

-bash-4.2$ ls 
Dockerfile 

-bash-4.2$ vim Dockerfile 
FROM java 
WORKDIR /u/workspaces/compose 
CMD /src/compileAndTest 

ビルドと実行可能compileAndTestへのパスが指定されていても

-bash-4.2$ docker build -t myjavabuild . 
Sending build context to Docker daemon 3.072 kB 
Step 1 : FROM java 
---> 69a777edb6dc 
Step 2 : WORKDIR /u/eugenep/workspaces/compose 
---> Using cache 
---> 583d8616f495 
Step 3 : CMD /src/compileAndTest 
---> Using cache 
---> d0458943d19e 
Successfully built d0458943d19e 
-bash-4.2$ docker run myjavabuild 
/bin/sh: 1: /src/compileAndTest: not found 

を実行しますDockerfileで、それが見つかりませんでした

誰も知っているのですか?

答えて

1

ここでの問題は、/src/compileAndTestファイルをコンテナのファイルシステムにコピーしていないことです。 DockerfileにADDタグを使用して、それを達成することができます。

FROM java 
WORKDIR /u/workspaces/compose 
ADD /u/workspaces/compose/src/compileAndTest /src/compileAndTest 
RUN chmod +x /src/compileAndTest 
CMD /src/compileAndTest 
+0

レベルを追加しているときに、その下にすべてが表示されますか? – ealeon

+0

イメージを構築中に "lstat u/workspaces/compose/src/compileAndTest:no such file or directory"と表示されます。 – ealeon

+0

ファイルはDockerfileファイルの同じディレクトリになければなりません。 – JesusTinoco

1

はが欠落しているホストマシンからcompileAndTestファイルを追加します。

+0

どういう意味ですか?その同じホスト – ealeon

+0

ホストマシンからドッカーイメージにファイルをコピーする場合は、最初にaddコマンドを使用してそのファイルをドッカーイメージに追加する必要があります。前に追加したファイルが見つかりません。 以下のコマンドを実行すると、あなたのファイルは表示されません。それは、urホストからdockerイメージにコピーされなかったためです。 **ドッカーexec container_id ls src/** – diamond

関連する問題