运行容器时指定spring.profile
方式一:在 Dockerfile 的 ENTRYPOINT 增加一个新参数 -Dspring.profiles.active=prod
dockerfileFROM 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 的值
powershelldocker run -e "SPRING_PROFILES_ACTIVE=prod" 镜像:版本号powershell// 也可以指定多个 docker run -e "SPRING_PROFILES_ACTIVE=prod1,prod2,prod3" 镜像:版本号注意:Dockerfile里面的命令行参数的优先级大于环境变量,所以使用此种方式,需要将Dockerfile中ENTRYPOINT的命令行参数去掉
dockerfileFROM 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"]