java - 外部 application.properties 文件到 Docker 容器中的 Spring Boot 应用程序
问题描述
我将一个带有自己的 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
如何使用外部应用程序属性。我读过类似的答案,但我似乎不明白,虽然,我不认为我有一个独特的问题。?
解决方案
推荐阅读
- vba - VBA:组织非矩形范围(编辑)
- ikvm - GlyphVector.getoutline() 永远不会返回
- html - 使用 Python-Flask 使用 postgresql 数据库中的数据填充 html 下拉列表
- typescript - 在 Typescript 中,可以使用泛型添加属性键吗?
- api - 浮动日期之间如何查询?
- php - 为输入发送 cookie 并发送到 mysql
- phoenix-framework - Phoenix 1.4.0-dev 生成的通道测试失败并出现编译错误
- xml - 使用 xslt 从 xml 数据创建数组数组作为 csv 中的一个字段时,添加逗号作为分隔符
- android - 保持相互呼叫服务/广播
- javascript - 如何使用 JavaScript 'match' 查找字符的出现次数