Spring boot 如何将application.properties传递到Docker容器中的SpringBoot应用程序?

Spring boot 如何将application.properties传递到Docker容器中的SpringBoot应用程序?,spring-boot,docker,file,parameter-passing,docker-container,Spring Boot,Docker,File,Parameter Passing,Docker Container,假设我们有一个简单的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

假设我们有一个简单的
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\u sb\u app.jar--spring.config.location=%%file\u,其中包含\u app.properties%%的内容

将文件传递到Docker容器的标准方式是什么

如何更改Docker映像?

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

在您的示例中:

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
问候,

卡洛斯