使用 docker 和自己的路径编译 java 文件

Compile a java file using docker with own path

嗨。我正在尝试使用 docker 编译一个 .java 文件。我阅读了 docker 网站上的文件,还阅读了这些链接:

docker's website

about volumes

我理解 gcc 编译器的概念,因为它不会创建任何额外的编译文件。 但是 java 一个确实如此。如果我使用以下命令并编译名为 Main.java 的文件,它会在我的 /home 目录中创建一个 Main.class 文件

sudo docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java

从上面的链接中学习后,我能够使用我自己的路径成功编译一个 java 文件:

docker run --rm -v /mypathhere/mycode.java:/mycode.java: java:7 javac mycode.java"

如果有任何错误,它会显示错误,但如果没有,它只会编译并且不会给我任何输出,这是合理的,因为它创建了一个 Main.class 文件。

我的问题是我无法找到 Main.class 文件。我不知道 docker 在哪里创建它,我对它的理解为零。请帮帮我。

.class 文件将在容器内,在根目录下。

最好的计划是挂载整个源目录,然后 javac 将结果放在同一目录中,例如:

docker run --rm -v /mypathhere:/mycode java:7 sh -c "cd mycode; javac mycode.java"

这样,您应该将 class 文件写入 mypathhere 目录。

抱歉,如果这不太行得通 - 它不在我的脑海中。希望你明白了。