Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring引导Dockerfile错误:未知指令:JAVA_Spring Boot_Docker_Dockerfile - Fatal编程技术网

Spring boot Spring引导Dockerfile错误:未知指令:JAVA

Spring boot Spring引导Dockerfile错误:未知指令:JAVA,spring-boot,docker,dockerfile,Spring Boot,Docker,Dockerfile,我有下面的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 [ "jav

我有下面的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 [ \
    ... \
]
    
像这样:

ENTRYPOINT [ \
    "java", \
    "-Dspring.config=.", \
    "-Dspring.profiles.active=local", \
    "-Dkeystore.file=mykey.p12, \
    "-jar", \
    "my-service.jar" \
]
我建议使用过梁捕捉这样的错误
hadolint
是一个很好的命令行linter,您可以轻松下载大多数IDE的Dockerfile linter。

它将“java”作为单独的Dockerfile指令读取。如果希望entrypoint命令的第一行位于不同的行上,则需要在
[
之后和
]
之前的最后一行转义:

ENTRYPOINT [ \
    ... \
]
    
像这样:

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

我建议使用过梁捕捉这样的错误
hadolint
是一个很好的命令行linter,您可以轻松下载大多数IDE的Dockerfile linter。

Wow,就是这样,谢谢@Tential(+1)。有趣的是,你提到linters,我正在为IntelliJ的商业版付费,并且已经下载并安装了Docker/Dockerfile插件,上面说我的(坏的)Dockerfile很好。但你是对的,添加这些反斜杠可以修复一切——再次感谢!哇,就是这样,谢谢@1。有趣的是,你提到linters,我正在为IntelliJ的商业版付费,并且已经下载并安装了Docker/Dockerfile插件,上面说我的(坏的)Dockerfile很好。但你是对的,添加这些反斜杠可以修复一切——再次感谢!