Docker容器启动时获取启动参数
本文以Spring Boot为,ru'ti
·

本文以Spring Boot为,如图,有三个配置文件,分别应用于不同的环境,通常情况下,部署该应用可以使用“java -jar demo.jar --springboot.profiles.active=dev”来选择不同的配置文件,那么当使用Docker方式部署时,应该如何在启动时选择配置文件呢?
1. Dockerfile
FROM openjdk:8-jdk-alpine
RUN mkdir -p /app/demo/
COPY demo.jar /app/demo/
RUN touch /app/demo/demo.jar\
&& apk add --update ttf-dejavu fontconfig
ENV JAVA_OPTS="-Xms128m -Xmx256m"
#默认使用 dev
ENV ACTIVE="dev"
#使用 shell 处理
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar -Duser.timezone=GMT+8 /app/demo/demo.jar --spring.profiles.active=$ACTIVE"]
2. 制作docker镜像
docker build -t demo:1.0 .
3. 启动镜像
docker run -e ACTIVE="prod" -d -p 9002:9002 demo:1.0

4. 启动时给容器命名
docker run -e ACTIVE="prod" -d -p 9002:9002 --name=demo demo:1.0

--name: 指定容器名称
-e:设置环境变量
-p:指定端口映射,格式为:主机(宿主)端口:容器端口
-d:指定容器后台运行
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)