[英]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.