繁体   English   中英

javac:Dockerfile中找不到文件错误

[英]javac: File Not Found Error in Dockerfile

我正在尝试为Java应用程序构建一个docker镜像。 我在dockerfile中完成了以下操作:

FROM java:8
RUN javac HelloDocker.java
CMD ["java","HelloDocker"]

当我尝试构建映像时,它抛出以下异常: javac: file not found: HelloDocker.java HelloDocker.java文件和Dockerfile位于同一目录中。 此外,当我尝试单独编译java文件(通过javac HelloDocker.java)时,它没有抛出任何错误。

假设这是完整的Dockerfile,您需要在docker映像的文件系统中有一个名为HelloDocker.java的文件,然后才能使用“RUN javac HelloDocker.java”编译该文件。 您可以使用docker COPY / ADD命令将文件从主机的文件系统复制到docker镜像。

您正在使用已弃用的图片。 你应该使用openjdk图像。 见下文

https://hub.docker.com/_/openjdk/

你还需要javac所以你应该使用带有jdk标签而不是jre标签的那个。

所以试试openjdk:8-jdk

编辑-1

您还需要复制Dockerfile中的文件。 当您使用docker build . ,然后将当前目录文件作为上下文使用,但它们不在图像内部

FROM java:8
WORKDIR /app
COPY HelloDocker.java .
RUN javac HelloDocker.java
CMD ["java","HelloDocker"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM