我用自己的application.properties文件打包了一个Spring Boot应用程序作为docker映像。我希望运行映像的人在从映像中运行容器时都提供他/她自己的属性文件(覆盖应用程序内部的文件)。 我的Dockerfile看起来像这样。
# our base build image
FROM maven:3.6.2-jdk-11 as maven
WORKDIR /app
# copy the Project Object Model file
COPY ./pom.xml ./pom.xml
# fetch all dependencies
RUN mvn dependency:go-offline -B
# copy your other files
COPY ./src ./src
# build for release
# NOTE: my-project-* should be replaced with the proper prefix
RUN mvn package -Dmaven.test.skip=true && cp target/myApp.jar app.jar
# smaller, final base image
FROM openjdk:8-jdk-alpine
# OPTIONAL: copy dependencies so the thin jar won't need to re-download them
# COPY --from=maven /root/.m2 /root/.m2
# set deployment directory
WORKDIR /app
# copy over the built artifact from the maven image
COPY --from=maven /app/app.jar ./app.jar
# set the startup command to run your binary
CMD ["java", "-jar", "/app/app.jar"]
我按如下方式运行图像。
docker run -p 8085:8085 docker-spring-boot-name
如何使用外部应用程序属性。 我读过类似的答案,但我似乎不明白,尽管我认为我没有独特的问题。