我尝试在hava上创建helloWorld应用程序,并在windows的docker中启动它。
public class HelloWorld { public static void main(String[] args) { System.out.println("Start... ");System.out.println("Hello Pavel!");}}
来自java:8添加HelloWorld.java。运行我放到java-application文件夹中的javac HelloWorld.java CMD "java","HelloWorld"
-java-application -HelloWorld.java -Dockerfile
Pavel\ -t -application>docker build java-Application.将构建上下文发送到Docker守护进程3.072kB第1/4步:从java:8 -> d23bdf5b1b1b第2/4步:添加HelloWorld.java。->使用缓存-> Docker第3/4步:使用缓存运行javac > 5f5204f28710第4/4步: CMD "java","HelloWorld“->使用缓存-> 53ebab34502c成功构建53ebab34502c成功标记java- d4e0c540b57b :最新安全警告:您正在针对非Windows Docker主机从Windows构建Docker镜像。添加到构建上下文的所有文件和目录都将具有“-rwxr-xr-x”权限。建议对敏感文件和目录重新检查并重置权限。
我显示所有图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
java-application latest 53ebab34502c 2 minutes ago 643MB
hello-world latest 4ab4c602aa5e 8 days ago 1.84kB
ubuntu latest cd6d8154f1e1 9 days ago 84.1MB
nginx latest 06144b287844 10 days ago 109MB
java 8 d23bdf5b1b1b 20 months ago 643MBC:\Pavel\->docker运行java-应用程序错误:无法找到或加载主类HelloWorld java应用程序
编辑
我更改dockerfile:
FROM openjdk:8
ADD HelloPavel.java .
RUN javac HelloPavel.java
ENTRYPOINT ["java", "HelloPavel"]我有过
hello-pavel latest c817bd40d62c 25 seconds ago 624MB我开始说:
C:\Pavel\hello-pavel>docker run hello-pavel:latest
Error: Could not find or load main class HelloPavel发布于 2018-09-16 04:45:21
错误很明显,类Helloworld不在docker中的java类路径中。使用添加它
java -cp . HelloPavel当您第一次将目录更改为已编译类所在的位置时。
https://stackoverflow.com/questions/52348504
复制相似问题