8-jdk-alpine版本和17-jdk-alpine是直接启动
CMD ["sh","-c", "java $JAVA_OPTS -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Djava.security.egd=file:/dev/./urandom -Djava.io.tmpdir=/tmp -Dserver.tomcat.basedir=/tmp $APP_OPTS -jar /opt/app.jar"]
8-jdk-alpine-1版本和17-jdk-alpine-1是通过tini
ENTRYPOINT ["/sbin/tini", "--", "./run.sh"]
8-jdk-alpine版本 Dockerfile
FROM openjdk:8-jdk-alpine
# 将本地文件夹挂载到当前容器
# 创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录。
# public目录可以避免spring boot产生tomcat.docbase*临时目录
VOLUME ["/tmp", "/public"]
# 拷贝java诊断工具arthas
COPY --from=wjf8882300/arthas:latest /opt/arthas /opt/arthas
# 镜像改为阿里云
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装telnet,netstat,tini,tzdata
RUN apk update && apk add --no-cache busybox-extras ospd-netstat curl tini tzdata
# 解决容器时间和宿主主机时间不一致问题
ENV TZ Asia/Shanghai
RUN /bin/cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo '${TZ}' >/etc/timezone
# 删除临时目录
RUN rm -rf /var/cache/apk/*
17-jdk-alpine-1版本
# java镜像
FROM openjdk:17-jdk-alpine
# 将本地文件夹挂载到当前容器
# 创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录。
# public目录可以避免spring boot产生tomcat.docbase*临时目录
VOLUME ["/tmp", "/public"]
# 拷贝java诊断工具arthas
COPY --from=wjf8882300/arthas:latest /opt/arthas /opt/arthas
# 镜像改为阿里云
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装telnet,netstat,tini,tzdata
RUN apk update && apk add --no-cache busybox-extras curl tini tzdata ttf-dejavu fontconfig
# 解决容器时间和宿主主机时间不一致问题
ENV TZ Asia/Shanghai
RUN /bin/cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo '${TZ}' >/etc/timezone
RUN apk update && apk add --no-cache busybox-extras net-tools curl tini tzdata ttf-dejavu fontconfig bash
COPY run.sh .
COPY wait-for-it.sh .
# 删除临时目录
RUN rm -rf /var/cache/apk/*
Content type
Image
Digest
sha256:543038774…
Size
176.8 MB
Last updated
almost 3 years ago
docker pull wjf8882300/openjdk:21-jdk-alpine