You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot项目Docker容器中指定Profile配置文件加载异常问题

Spring Boot Docker容器无法加载指定Profile配置文件的问题

问题详情

  • 基于Kotlin开发的Spring Boot 3.2.2项目,resources目录下存放基础配置application.yml及Docker环境专属配置application-docker.yml,后者包含前者没有的配置项(例如server.ssl.key-store)
  • 本地通过IntelliJ激活docker Profile运行时,配置正常加载,两个文件自动合并并覆盖重复项
  • 构建Docker镜像后直接运行容器,仅加载application.yml,application-docker.yml未被读取,导致仅存在于docker配置中的项报错:Required key 'server.ssl.key-store' not found
  • 已完成的排查:
    • 容器日志确认docker为激活的Profile
    • 容器内执行命令 jar tf /app/dev-epj-0.0.1-SNAPSHOT.jar | grep application-docker.yml,验证配置文件已打包进Jar包
    • 特殊情况:通过IntelliJ启动Docker容器时一切正常,仅直接运行镜像出现问题

项目Dockerfile内容

FROM maven:3.8.5-openjdk-17 AS build
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline -B
COPY src ./src

RUN mvn clean package -DskipTests

FROM openjdk:17-jdk-slim
WORKDIR /app
COPY --from=build /app/target/*.jar dev-epj-0.0.1-SNAPSHOT.jar
COPY src/main/resources/keystore/localhost.p12 /app/keystore/localhost.p12


ENV SPRING_PROFILES_ACTIVE=DOCKER

EXPOSE 7073

ENTRYPOINT ["java", "-jar", "dev-epj-0.0.1-SNAPSHOT.jar"]

最终解决方法

经过排查,确定是Docker自身运行异常导致的问题,重启Docker(连带重启Mac主机)后,容器可以正常加载application-docker.yml配置文件,问题解决。

内容的提问来源于stack exchange,提问作者RandomCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:05:00