美文网首页
Spring boot使用ENV多环境dockerfile配置

Spring boot使用ENV多环境dockerfile配置

作者: liurongming | 来源:发表于2021-09-14 17:54 被阅读0次

通用spring boot打包镜像模板

# VERSION 0.0.1
# Author: Author
# 基础镜像使用java
FROM java:8
# 作者
LABEL maintainer="Author<Author@domain.com>"
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp

# 编译指定文件名
# 例子:[--build-arg 'JAR_FILE=xxx.jar']
# 默认加载当前.jar
ARG JAR_FILE='*.jar'
RUN echo ${JAR_FILE}
# 将jar包添加到容器中并更名为app.jar
ADD ${JAR_FILE} app.jar

# 指定启动参数
# 改变使用[-e 'JAVA_OPTS=-Xms512m']
ARG DEAULT_OPTS='-Xms512m -Xmx512m -Xss1024K -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m'
ENV JAVA_OPTS=$DEAULT_OPTS

# 默认配置sit环境
# 改变使用[-e 'CE=dev']
ARG DEAULT_CE='sit'
ENV CE=$DEAULT_CE

# 更新时区
RUN sh -c 'touch /app.jar; ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime; echo "Asia/Shanghai" > /etc/timezone'

# 启动入口
# 强制文件编码:UTF-8
# 强制java时区:GMT+08
ENTRYPOINT ["sh","-c","java -jar ${JAVA_OPTS} -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08 -Djava.security.egd=file:/dev/./urandom /app.jar --spring.profiles.active=$CE"]

指定--build-arg打包指定jar文件

docker build --build-arg 'JAR_FILE=xxx-gateway-1.0.1.jar' -t harbor.domain.com/library/xxx-gateway:latest --force-rm .

相关文章

网友评论

      本文标题:Spring boot使用ENV多环境dockerfile配置

      本文链接:https://www.haomeiwen.com/subject/htocgltx.html