自定义镜像的好处是: 可以去除不必要的组件,减小镜像大小,提升运行性能、选择想要的操作系统版本、Java 版本、以及其他附加的工具和库。此外,定制镜像还可以包含特定的应用程序或库,方便您快速部署和运行您的代码。
Dockerfile
# 1.指定基础镜像
FROM alpine:latest
# 2.添加说明等信息
LABEL name=bkp description="jdk21 base on alpine image"
# 3.安装jdk
RUN echo "https://mirrors.aliyun.com/alpine/v3.19/main/" > /etc/apk/repositories \
&& echo "https://mirrors.aliyun.com/alpine/v3.19/community/" >> /etc/apk/repositories \
# 根据需要选择安装的软件
&& apk add --no-cache curl tzdata tini libc6-compat linux-pam krb5 krb5-libs openjdk21 \
# 设置时区
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo Asia/Shanghai > /etc/timezone \
# 程序中需要预创建的目录
&& mkdir -p /app/logs
# 4.查看java版本
CMD ["java","-version"]
登录自己的docker 仓库
docker login ...
构建
# 打包
docker build -t registry.xxx.aliyuncs.com/XXX/openjdk-21-jdk-alpine:v1 .
# push
docker push registry.us-west-1.aliyuncs.com/brio/openjdk-21-jdk-alpine:v1
文章评论