美文网首页
制作基础镜像-JAVA

制作基础镜像-JAVA

作者: heichong | 来源:发表于2022-12-26 09:16 被阅读0次

一、制作一个基础openjdk镜像

基于 openjdk:8u191-jdk-alpine3.9制作一个基础镜像,把必须的依赖和时区都调整好

  • Dockerfile
FROM openjdk:8u191-jdk-alpine3.9

MAINTAINER zong_b

# 设置时区;添加字体,以支持导出Excel
RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
    && apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata \
    && apk --no-cache add ttf-dejavu fontconfig
  • build并推送至镜像仓库:
docker build -t harbor.bidr.com.cn/library/openjdk-bidr:8u191-jdk-alpine3.9 .
docker push harbor.bidr.com.cn/library/openjdk-bidr:8u191-jdk-alpine3.9

二、使用基础镜像制作springboot Dockerfile

cat > Dockerfile <<EOF
FROM harbor.bidr.com.cn/library/openjdk-bidr:8u191-jdk-alpine3.9

MAINTAINER zong_b

# jar包位置,可以通过docker build --build-arg 传递参数
ARG JAR_NAME

VOLUME /tmp
# env ,可以通过docker run -e进行覆盖
ENV JAVA_OPTS=""
ENV SPRING_OPTS=""

ADD $JAR_NAME /app.jar

ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /app.jar $SPRING_OPTS"]
EOF
  • Jenkins Pipeline中,使用此基础镜像构建新镜像时,可以通过JAR_NAME指定jar包位置,比如:
docker build -f ./Dockerfile  -t test:0.0.1 --build-arg JAR_NAME=./target/*.jar .
  • 启动jar包时,可以通过JAVA_OPTS和PARAMS两个参数来分别指定JVM参数和spring参数
docker run -d -p 9011:9011 -p 9012:9012 \\
                        -e JAVA_OPTS="-Xmx1g -Xms1g -Djava.security.egd=file:/dev/.urandom" \\
                        -e PARAMS="--server.port=9011 --spring.profiles.active=test --xxl-job.executor.ip=10.3.23.191 --xxl-job.executor.port=9012" \\
                        --restart always  test:0.0.1

相关文章

网友评论

      本文标题:制作基础镜像-JAVA

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