Spring Boot Dockerfile错误:未知指令:JAVA

热肉丸汤

我要使用以下Dockerfile来容器化Spring Boot应用程序:

FROM openjdk:8-jdk-alpine as myservice

COPY build/libs/my-service.jar my-service.jar

HEALTHCHECK CMD curl --fail https://localhost:9200/healthCheck || exit 1

EXPOSE 443 9200

ENTRYPOINT [
    "java", \
    "-Dspring.config=.", \
    "-Dspring.profiles.active=local", \
    "-Dkeystore.file=mykey.p12, \
    "-jar", \
    "my-service.jar"
]

当我跑步时:

docker build -t myorg/my-service .

我得到:

Sending build context to Docker daemon   82.5MB
Error response from daemon: Dockerfile parse error line 10: unknown instruction: "JAVA",

这里发生了什么?

暂定

它正在读取“ java”作为单独的Dockerfile指令。如果希望它们位于单独的行中[]则需要在最后一行之后和最后一行转义入口点命令的第一行

ENTRYPOINT [ \
    ... \
]
    

像这样:

ENTRYPOINT [ \
    "java", \
    "-Dspring.config=.", \
    "-Dspring.profiles.active=local", \
    "-Dkeystore.file=mykey.p12, \
    "-jar", \
    "my-service.jar" \
]

我建议使用短绒来捕获这样的错误。hadolint是一个很好的命令行linter,您可以轻松地为大多数IDE下载Dockerfile linter。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章