通过DockerFile,压缩docker镜像

#基于JDK1.8镜像
FROM registry.cn-shanghai.aliyuncs.com/java_server/java_server:openjdk-8 as build-env

#添加应用jar包
ADD  /ruoyi-admin/target/ROOT.jar /tmp/app/ROOT.jar

#构建应用
RUN cd /tmp/app && \
mkdir /app && \
#拷贝编译结果到指定目录
mv /tmp/app/ROOT.jar /app/ROOT.jar && \
#清理编译痕迹
rm -rf /tmp/app

#多阶段构建
FROM registry.cn-shanghai.aliyuncs.com/java_server/java_server:openjdk-jre-alpine-8
#添加阿里云镜像源 添加ttf-dejavu字体镜像 创建文件
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories \
&& apk add --no-cache tzdata bash  ttf-dejavu fontconfig \
	&& fc-cache --force \
&& mkdir /app_home
COPY --from=build-env /app/ROOT.jar /app_home/ROOT.jar

#设置编码格式
#ENV LANG="zh_CN.UTF-8"
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV LC_ALL C.UTF-8

VOLUME ["/logs"]
#EXPOSE 8090

#ENTRYPOINT java -server -Dfile.encoding=UTF-8 -Xmx512m -Xss256k -Xdebug -Xnoagent -Djava.compiler=NONE -Dspring.profiles.active=prod -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50983 -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar
#ENTRYPOINT ["java", "-server", "-Dfile.encoding=UTF-8", "-Xmx512m", "-Xss256k", "-Xdebug", "-Xnoagent", "-Djava.compiler=NONE", "-Dspring.profiles.active=prod", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50983", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/ROOT.jar"]
#ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/ROOT.jar"]
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app_home/ROOT.jar","--server.port=8080"]

#构建镜像
#docker build -t shanghaiyeye:[版本号] .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker 镜像的大小对于部署和传输来说都是非常重要的。较小的镜像可以更快地传输和部署,因此减小 Docker 镜像的大小是非常有必要的。以下是一些减小 Docker 镜像大小的方法: 1.使用多阶段构建:多阶段构建是一种将多个 Dockerfile 指令组合在一起的方法,以便在单个 Dockerfile 中构建多个镜像层。这可以减少镜像的大小,因为每个阶段只包含构建所需的文件和依赖项。 2.使用 .dockerignore 文件:.dockerignore 文件类似于 .gitignore 文件,可以指定哪些文件和目录不应包含在构建上下文中。这可以减少构建上下文的大小,从而减小镜像的大小。 3.精简镜像:在构建镜像时,只包含应用程序所需的文件和依赖项。例如,使用 Alpine Linux 作为基础镜像可以减小镜像的大小,因为 Alpine Linux 是一个非常小的 Linux 发行版。 4.删除不需要的文件和依赖项:在构建镜像时,确保删除不需要的文件和依赖项。例如,在安装软件包后,运行 apt-get clean 命令可以删除不需要的软件包和缓存文件。 5.压缩镜像:使用 Docker 的内置压缩功能可以减小镜像的大小。例如,使用 docker save 命令将镜像保存为 tar 文件时,可以使用 -gzip 选项启用压缩。 6.使用 Docker 镜像优化工具:如引用所述,有许多 Docker 镜像优化工具可以帮助你减小 Docker 镜像的大小,例如 Dive。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值