猿问

运行docker时出现java权限问题

我想用 java 创建一个 docker 并测试它,但是出现错误


这是泊坞窗文件


FROM openjdk:8-jdk-slim





COPY  Simple.java /project/



WORKDIR /project


CMD ["java" ,”--version”]

我尝试运行该文件Simple.java


class 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 程序并查看它是否有效?


慕标琳琳
浏览 167回答 1
1回答

Qyouu

当您运行时,您将覆盖 dockerfile 中的命令(CMD)docker run mydocker  javac Simple.java这是docker 文档所说的:该命令是可选的,因为创建 IMAGE 的人可能已经使用 Dockerfile CMD 指令提供了默认命令。作为操作员(从映像运行容器的人),您只需指定新的 COMMAND 即可覆盖该 CMD 指令我在这里稍微改变了你的 Dockerfile:FROM openjdk:8-jdk-slimCOPY  Simple.java /project/WORKDIR /projectRUN ["javac" ,"Simple.java"]CMD ["java" ,"Simple"]现在你应该能够运行docker run mydocker输出;➜ DockerTest docker run mydockerHello Java
随时随地看视频慕课网APP

相关分类

Java
我要回答