簡體   English   中英

Dockerfile中的Spring Boot應用程序中的外部配置

[英]External config in Spring Boot application within Dockerfile

我想運行此Dockerfile應用程序:

FROM java:8-jre
ADD config/ /deploy/
COPY ./meta.std.1.0.1.jar /deploy/
CMD chmod +x ./deploy/meta.std.1.0.1.jar
CMD ["java","-jar","/deploy/meta.std.1.0.1.jar","metastore","spring.config.location=./config/metadata-server.yml"]
EXPOSE 3011

運行時,它不是在讀取metadata-server.yml值嗎? 這是正確的方法嗎?

我認為您輸入了meta-server.yml錯誤的路徑

“spring.config.location =。/配置/元數據server.yml”

我認為在:

添加配置/ /部署/

metadata-server.yml的路徑應為:

“spring.config.location = /部署/配置/元數據server.yml”

采用

FROM java:8-jre
ADD config/ /deploy/
COPY ./meta.std.1.0.1.jar /deploy/
CMD chmod +x ./deploy/meta.std.1.0.1.jar
CMD ["java","-jar","/deploy/meta.std.1.0.1.jar","metastore","--spring.config.location=classpath:file:/deploy/metadata-server.yml"]
EXPOSE 3011

更新:

或者更好地嘗試這個

FROM alpine:edge

VOLUME /tmp

RUN apk --no-cache upgrade && apk --no-cache add openjdk8-jre

ADD config/ /deploy/
COPY ./meta.std.1.0.1.jar /deploy/
ADD /YOUR/CONFIG/metadata-server.yml /deploy/metadata-server.yml

EXPOSE 3011

ENTRYPOINT ["java" ,"-Djava.security.egd=file:/dev/./urandom --spring.config.location=classpath:file:/deploy/metadata-server.yml","-jar","/deploy/meta.std.1.0.1.jar"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM