我要使用以下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] 删除。
我来说两句