Я упаковал загрузочное приложение Spring с собственным файлом application.properties в качестве образа докера. Мне понравится тот, кто запускает изображение, чтобы предоставить свои собственные файлы свойств (переопределяя тот, который находится внутри приложения) при запуске контейнера из изображения. Мой 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
Как использовать свойства внешнего приложения. Я читал похожие ответы, но мне кажется, что я не понимаю, хотя я не думаю, что у меня есть уникальная проблема .?