【问题标题】:External config in Spring Boot application within DockerfileDockerfile 中 Spring Boot 应用程序中的外部配置
【发布时间】:2018-06-20 15:44:19
【问题描述】:

我想运行这个 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 值?这是正确的方法吗?

【问题讨论】:

  • 这个元存储是什么。试试--spring.config.location=.....
  • 我正在传递一个参数元存储来运行我的应用程序。更正后,我得到原因:java.lang.NumberFormatException:对于输入字符串:“--spring.config.location=./config /metadata-server.yml" 这个异常。
  • 你能展示你的主要springboot类吗?并尝试使用--spring.config.location=classpath:/config/metadata-server.ymlfile:/......
  • 这是我的 Spring Boot 主类,public static void main(String[] args) { System.setProperty("spring.config.name", "metastore-server"); System.setProperty("spring.config.location", "file://config/"); SpringApplication.run( MetastoreServer.class , args );

标签: docker spring-boot dockerfile


【解决方案1】:

我认为你把 metadata-server.yml 的路径放错了

“spring.config.location=./config/metadata-server.yml”

我认为之后:

添加配置/ /部署/

metadata-server.yml 的路径应该是:

“spring.config.location=/deploy/config/metadata-server.yml”

【讨论】:

    【解决方案2】:

    使用

    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"]
    

    【讨论】:

      猜你喜欢
      • 2015-05-20
      • 2021-12-16
      • 2017-11-04
      • 1970-01-01
      • 2021-10-07
      • 2021-01-05
      • 2014-09-12
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多