Here is Dockerfile ,
FROM openjdk:17.0.2-jdk
LABEL authors="peng.wang"
MAINTAINER [email protected]
ARG IMAGE_NAME=office
ARG SPRING_PROFILE=dev
ENV SERVICE_NAME=service
ENV SERVICE_VERSION=1.0.0
ENV SPRING_PROFILE=$SPRING_PROFILE
ENV JAR_NAME=${SERVICE_NAME}-${SERVICE_VERSION}.jar
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
&& echo $TZ > /etc/timezone
RUN echo "print spring" &&
echo $SPRING_PROFILE &&
RUN echo SPRING_PROFILE=$SPRING_PROFILE >> /etc/environment
EXPOSE ${PORT}
WORKDIR /app/service/${SERVICE_NAME}
COPY target/${JAR_NAME} ./service.jar
CMD ["java", "-jar","-Dspring.profiles.active=$SPRING_PROFILE","service.jar"]
when application start up ,i produce below log , the active env is $SPRING_PROFILE
2024-05-15 10:53:56.542 [main] INFO - The following 1 profile is active: "$SPRING_PROFILE"