我想用 java 创建一个 docker 并测试它,但是出现错误这是泊坞窗文件FROM openjdk:8-jdk-slim…COPY Simple.java /project/WORKDIR /projectCMD ["java" ,”--version”]我尝试运行该文件Simple.javaclass Simple{ public static void main(String args[]){ System.out.println("Hello Java"); }}当我运行以下命令时:docker run mydocker javac Simple.java我收到错误:Simple.java:1: error: error while writing Simple: Simple.class (Permission denied)class Simple{^1 error我如何测试一个简单的 java 程序并查看它是否有效?
1 回答

Qyouu
TA贡献1786条经验 获得超11个赞
当您运行时,您将覆盖 dockerfile 中的命令(CMD)
docker run mydocker javac Simple.java
这是docker 文档所说的:
该命令是可选的,因为创建 IMAGE 的人可能已经使用 Dockerfile CMD 指令提供了默认命令。作为操作员(从映像运行容器的人),您只需指定新的 COMMAND 即可覆盖该 CMD 指令
我在这里稍微改变了你的 Dockerfile:
FROM openjdk:8-jdk-slim
COPY Simple.java /project/
WORKDIR /project
RUN ["javac" ,"Simple.java"]
CMD ["java" ,"Simple"]
现在你应该能够运行
docker run mydocker
输出;
➜ DockerTest docker run mydocker
Hello Java
添加回答
举报
0/150
提交
取消