【问题标题】:How to pass application.properties to SpringBoot app in Docker container?如何将 application.properties 传递给 Docker 容器中的 Spring Boot 应用程序?
【发布时间】:2021-03-21 18:23:55
【问题描述】:

假设我们有一个简单的Dockerfile,其中my_sb_app.jar 是一个SpringBoot 应用程序:

FROM bellsoft/liberica-openjdk-alpine:11.0.9-12    
WORKDIR /app    
COPY target/my_sb_app.jar /app    
EXPOSE 8080    
ENTRYPOINT java -jar my_sb_app.jar

我想在每次运行时传递自定义 app.properties

docker run  my_image_name  /somewhere/on/my/host/app.properties

因此预期的最终命令(在容器内)可能与以下命令相同

java -jar my_sb_app.jar --spring.config.location=%%file_with_contents_of_app.properties%%

将文件传递到 Docker 容器的标准方法是什么?
如何更改 Docker 映像?

【问题讨论】:

    标签: spring-boot docker file parameter-passing docker-container


    【解决方案1】:

    将文件从主机传递到容器的标准方法是使用卷:

    https://docs.docker.com/storage/bind-mounts/

    https://docs.docker.com/storage/volumes/

    在你的例子中:

    docker run -v /somewhere/on/my/host/app.properties:/opt/app.properties my_image_name 
    
    java -jar my_sb_app.jar --spring.config.location=/opt/app.properties
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-07
      • 2019-05-16
      • 2015-10-27
      • 1970-01-01
      • 2020-04-07
      • 2023-03-26
      • 2022-12-17
      • 2020-12-15
      相关资源
      最近更新 更多