Skip to content

运行容器时指定spring.profile

  • 方式一:在 DockerfileENTRYPOINT 增加一个新参数 -Dspring.profiles.active=prod

    dockerfile
    FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
    COPY /target/api-0.0.1-SNAPSHOT.jar api.jar
    EXPOSE 8888
    ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-jar", "api.jar"]
  • 方式二:在 docker run 时通过 -e 设置环境变量 SPRING_PROFILES_ACTIVE 的值

    powershell
    docker run -e "SPRING_PROFILES_ACTIVE=prod" 镜像:版本号
    powershell
    // 也可以指定多个
    docker run -e "SPRING_PROFILES_ACTIVE=prod1,prod2,prod3" 镜像:版本号
    • 注意:Dockerfile里面的命令行参数的优先级大于环境变量,所以使用此种方式,需要将Dockerfile中ENTRYPOINT的命令行参数去掉

      dockerfile
      FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
      COPY /target/api-0.0.1-SNAPSHOT.jar api.jar
      EXPOSE 8888
      ENTRYPOINT ["java", "-jar", "api.jar"]

MIT版权,未经许可禁止任何形式的转载