JDK的Dockerfile

openjdk(https://openjdk.org/)

也可以用微软的 https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-17

使用debian系统

bash 复制代码
FROM openjdk:17-slim
MAINTAINER xxx

ENV SCM_PARAMS=""
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev -Djava.security.egd=file:/dev/./urandom"

ENV TZ PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get clean

RUN apt-get update \
	&& apt-get install -y locales apt-utils \
    && apt-get install -y --no-install-recommends vim \
    && apt-get install -y --no-install-recommends curl

ADD ./target/report-basic-*.jar /app.jar

EXPOSE 8080

ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $SCM_PARAMS"]

azul(https://www.azul.com/downloads/?version=java-17-lts\&package=jdk#zulu)

ubuntu

bash 复制代码
FROM azul/zulu-openjdk:17
MAINTAINER e-zhangjiawei01

ENV SCM_PARAMS=""
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev -Djava.security.egd=file:/dev/./urandom"

ENV TZ PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11iKr4j6
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
#RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get clean
#
RUN apt-get update \
    && apt-get install -y locales apt-utils \
    && apt-get install -y --no-install-recommends vim \
    && apt-get install -y --no-install-recommends curl

ADD ./target/location-*.jar /app.jar

EXPOSE 8080
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $SCM_PARAMS"]

debian:

bash 复制代码
FROM azul/zulu-openjdk-debian:17
MAINTAINER xxxx

ENV SCM_PARAMS=""
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev -Djava.security.egd=file:/dev/./urandom"

ENV TZ PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get clean

RUN apt-get update \
	&& apt-get install -y locales apt-utils \
    && apt-get install -y --no-install-recommends vim \
    && apt-get install -y --no-install-recommends curl

ADD ./target/report-basic-*.jar /app.jar

EXPOSE 8080

ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $SCM_PARAMS"]

aws-corretto(https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html)

不建议

aws-linux 和centos类似的系统

bash 复制代码
FROM amazoncorretto:17
MAINTAINER xxxx

ENV SCM_PARAMS=""
ENV JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 移除已有的yum仓库文件

#RUN rm -f /etc/yum.repos.d/*
# 添加阿里云的yum仓库文件
#ADD ./Centos-7.repo /etc/yum.repos.d/
# 清理缓存并生成新的缓存
RUN yum clean all && yum makecache

RUN yum install -y vim \
    yum install -y curl

ADD ./target/report-basic-*.jar /app.jar


ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $SCM_PARAMS"]

sapmachine(https://sap.github.io/SapMachine/)

bash 复制代码
FROM sapmachine:17-jdk-ubuntu-noble

ENV SCM_PARAMS=""
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"

ENV TZ PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list.d/ubuntu.sources
RUN sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list.d/ubuntu.sources
RUN apt-get clean

RUN apt-get update \
    && apt-get install -y locales apt-utils \
    && apt-get install -y --no-install-recommends vim \
    && apt-get install -y --no-install-recommends curl

ADD ./target/location-*.jar /app.jar

EXPOSE 8080

ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $SCM_PARAMS"]
相关推荐
永日456708 分钟前
学习日记-spring-day45-7.10
java·学习·spring
武当豆豆9 分钟前
C++编程学习阶段性总结
开发语言·c++
学不动CV了1 小时前
C语言32个关键字
c语言·开发语言·arm开发·单片机·算法
Continue_with1 小时前
docker设置代理
运维·docker·容器
你怎么知道我是队长1 小时前
python-enumrate函数
开发语言·chrome·python
小屁孩大帅-杨一凡1 小时前
如何解决ThreadLocal内存泄漏问题?
java·开发语言·jvm·算法
大熋1 小时前
Playwright Python 教程:网页自动化
开发语言·python·自动化
彭泽布衣1 小时前
远程登录docker执行shell报错input is not a terminal问题
运维·docker·容器
学习3人组2 小时前
在 IntelliJ IDEA 系列中phpstorm2025设置中文界面
java·ide·intellij-idea
炫爱小七2 小时前
包稳定的Docker 安装方式(CentOS)
docker·容器·centos