无法从Docker文件构建Docker映像

时间:2019-06-01 19:08:07

标签: dockerfile

我正在尝试从我的docker文件构建docker映像,但是出现错误 javac:找不到文件:HelloWorld.java。有人可以帮我吗? 我正在安装docker的window 10机器上执行此操作。 我的docker文件如下所示

    FROM java:8
    WORKDIR /abc
    RUN javac HelloWorld.java
    CMD ["java", "HelloWorld"]

构建命令

    C:\EclipseJavaWorkspace\HelloWorldDocker>docker build -t java-app .
    Sending build context to Docker daemon  9.728kB
    Step 1/4 : FROM java:8
    ---> d23bdf5b1b1b
    Step 2/4 : WORKDIR /abc
    ---> Using cache
 ---> 60d073ad2c81
Step 3/4 : RUN javac HelloWorld.java
 ---> Running in da2d882fc830
javac: file not found: HelloWorld.java
Usage: javac <options> <source files>
use -help for a list of possible options
The command '/bin/sh -c javac HelloWorld.java' returned a non-zero code: 2

2 个答案:

答案 0 :(得分:1)

您还需要将文件复制到容器内:

FROM java:8
WORKDIR /abc
COPY HelloWorld.java .
RUN javac HelloWorld.java
CMD ["java", "HelloWorld"]

答案 1 :(得分:0)

非常感谢您的帮助。 在添加COPY HelloWorld.java行之后,可以。它现在可以工作。因此,这意味着在添加WORKDIR之后,COPY是必需的。下面是行之有效的代码。

FROM java:8
WORKDIR /abc
COPY HelloWorld.java .      // I added this one with a dot at the end
RUN javac HelloWorld.java
CMD ["java", "HelloWorld"]