Docker找不到OpenJDK

前端之家收集整理的这篇文章主要介绍了Docker找不到OpenJDK 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_1@我第一次尝试使用Docker,并且试图让Spring Boot Web应用程序在Docker容器中运行.我正在构建应用程序(将其打包到一个独立的jar中),然后将其添加到Docker映像(这就是我想要的).

@H_403_1@我在这里遵循OpenJDK Docker base image的指示.您可以在Bootup repo on GitHub上找到我的SSCCE,其自述文件中包含了重现我所看到内容的所有说明.但基本上:

@H_403_1@>我将Web应用程序构建到一个jar中
>运行docker build -t bootup.哪个成功
>运行docker run -it –rm –name bootup bootup这会给我下面的错误,然后退出

@H_403_1@错误

@H_403_1@

/bin/sh: 1: /bin/sh: [java,: not found
@H_403_1@根据Google Gods,这曾经是Oracle JDK映像的问题,但OpenJDK映像应该不会发生.

@H_403_1@查看我的Dockerfile(也在该GitHub存储库中找到),任何人都可以发现我要去哪里了:

@H_403_1@

FROM openjdk:8
RUN mkdir /opt/bootup
ADD build/libs/bootup.jar /opt/bootup
WORKDIR /opt/bootup
ENTRYPOINT ['java','-jar','bootup.jar']
CMD ['']
@H_403_1@提前致谢!

@H_403_1@更新:

@H_403_1@docker ps的输出

@H_403_1@

CONTAINER ID        IMAGE               COMMAND                  CREATED
16bde964ff6b        bootup              "/bin/sh -c 'java -ja"   2 days ago

STATUS              PORTS                    NAMES
Up 14 seconds       0.0.0.0:8080->8080/tcp   bootup
最佳答案
我使用此dockerfile正常工作:

@H_403_1@

FROM openjdk:8

RUN mkdir /opt/bootup

ADD build/libs/bootup.jar /opt/bootup
WORKDIR /opt/bootup
EXPOSE 8080
ENTRYPOINT java -jar bootup.jar
@H_403_1@使用此命令可以正常运行:

@H_403_1@

docker run -it -p 8080:8080 --name bootup bootup
@H_403_1@我不是Java开发人员,所以我不知道为什么它会忽略要求它在端口9200上启动的配置,因为您的应用程序在端口8080上启动,但是从docker的角度来看,一切都在使用我的配置,并且我可以连接从我的浏览器在本地主机上访问应用程序:8080

@H_403_1@这里的截图:

Screenshot

@H_403_1@另外,由于您已经发布了github存储库,因此我建议您修改自述文件,以便用户可以从docker启动gradle,而无需在运行此命令的主机中使用Java环境:

@H_403_1@

docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:8 /usr/src/myapp/gradlew clean build

猜你在找的Docker相关文章