DevOps 生态介绍(十二):docker 优化(压缩镜像包的大小
在日常工作中docker build 构建的镜像有时会很大今天这篇文章主要介绍docker build 镜像优化。今天这篇文章会给出案例来前后对比构建的镜像大小差别。Docker 镜像优化好处 减少镜像体积 提升构建速度 降低网络传输时间 提高容器启动速度 Docker优化案例 我这里先上案例下面在详细介绍优化前Dockerfileimage_name :project_server_1:latestFROM ubuntu/jdk:21-24.04_stableLABEL version1.0.1LABEL maintainerzhangsanUSER rootWORKDIR /data/app/RUN apt update -y RUN apt install -y vimRun apt install -y curlRun apt install -y wgetCOPY xxx-server-1.0.0-SNAPSHOT.jar ./EXPOSE 8083 14031 14032 14033 14034 14035优化后Dockerfileimage_name :project_server_2:latestFROM eclipse-temurin:21-jre LABEL version1.0.1LABEL maintainerzhangsanUSER rootWORKDIR /data/app/RUN apt update apt install vim curl wget -y apt-get clean rm -rf /var/lib/apt/lists/*COPY xxx-server-1.0.0-SNAPSHOT.jar ./EXPOSE 8083 14031 14032 14033 14034 14035 查看两个镜像大小Docker优化方法1在第一步FROM 这边更换更小的基础镜像官方镜像通常会提供 -slim 和 -alpine 等瘦身版本 如果是java项目的话可以选择Eclipse Temurin镜像。此镜像是OpenJDK发行版。 2减少镜像层数 RUN 执行的命令最好在一条命令上不然每次都有镜像大小 优化前 RUN apt update -yRUN apt install -y vimRun apt install -y curlRun apt install -y wget 优化后 RUN apt update apt install vim curl wget -y apt-get clean命令docker history image_name 此命令可以看到镜像每层构建的详细命令及每层大小3清理缓存#基础镜像是ubuntuapt-get clean rm -rf /var/lib/apt/lists/*#基础镜像是redhatyum clean all rm -rf /var/cache/yum/*4COPY 时 不需要把无用的文件拷贝进来 我这边环境是java 环境只需要将构建好的jar包copy进来即可配置文件也不需要拷贝进来配置文件在k8s环境中用comfigmap来管理即可 5使用.dockerignore 不管是java后端项目还是前端项目都是构建后拷贝项目文件即可但是比如python项目不需要编译直接靠谱的是整个项目这样就需要用到.dockerignore来忽略一些文件不拷贝进来比如.git logs 之类的无用的文件

相关新闻

ISR 大量宕机后的“补员“机制——Kafka 的灾难生存指南

ISR 大量宕机后的“补员“机制——Kafka 的灾难生存指南

一、先说核心结论Kafka 不会主动"选拔"OSR 进入 ISR——但 OSR Follower 满足条件时会"自动申请入队"。这个过程叫 "重新同步(Re-sync)"。但这只解决"ISR 满员"的问题——新的 Leader 必须从现有 ISR 里选&…

2026/6/28 18:14:49阅读更多 →
PRISM论文精读

PRISM论文精读

这是一篇2018年发表在《PLOS ONE》上的研究论文,题为 《PRISM:一个用于GPU体绘制着色器交互式设计的开源框架》。以下是对该论文的全面解析: 一、研究背景与问题 1. 研究背景 直接体绘制(DVR) 已成为探索和分析3D医学…

2026/6/28 18:09:48阅读更多 →
so-vits-svc终极实战指南:掌握人声混合与扩散模型调优的完整方案

so-vits-svc终极实战指南:掌握人声混合与扩散模型调优的完整方案

so-vits-svc终极实战指南:掌握人声混合与扩散模型调优的完整方案 【免费下载链接】so-vits-svc SoftVC VITS Singing Voice Conversion 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc 在音频处理与音乐创作领域,so-vits-svc作为一款专…

2026/6/28 18:09:48阅读更多 →
RE-UE4SS终极指南:5步轻松掌握UE4/UE5游戏Mod开发

RE-UE4SS终极指南:5步轻松掌握UE4/UE5游戏Mod开发

RE-UE4SS终极指南:5步轻松掌握UE4/UE5游戏Mod开发 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS …

2026/6/28 19:30:08阅读更多 →
Synchronized 锁

Synchronized 锁

升级过程 无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 锁标记 偏向锁 偏向锁的思想是偏向于让第一个获取锁对象的线程,这个线程之后重新获取该锁不再需要同步操作 当锁对象第一次被线程获得的时候进入偏向状态,标记为 101,同时使用 …

2026/6/28 19:30:08阅读更多 →
RL78嵌入式开发:CC-RL编译器错误与警告信息实战解析

RL78嵌入式开发:CC-RL编译器错误与警告信息实战解析

1. 项目概述:从编译器报错信息到高效排错指南在RL78这类资源受限的微控制器上进行嵌入式开发,代码的每一字节、每一个时钟周期都至关重要。作为连接我们高级C语言思维与底层硬件机器码的桥梁,编译器的稳定与可靠是项目成功的基石。瑞萨电子的…

2026/6/28 19:30:08阅读更多 →
如何在Windows 10/11上完美运行经典游戏:dxwrapper终极兼容解决方案

如何在Windows 10/11上完美运行经典游戏:dxwrapper终极兼容解决方案

如何在Windows 10/11上完美运行经典游戏:dxwrapper终极兼容解决方案 【免费下载链接】dxwrapper Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension…

2026/6/28 19:30:08阅读更多 →
Windows任务栏太乱?3种方法教你用RBTray将任何窗口最小化到系统托盘

Windows任务栏太乱?3种方法教你用RBTray将任何窗口最小化到系统托盘

Windows任务栏太乱?3种方法教你用RBTray将任何窗口最小化到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否曾经为Windows任务栏上密密麻麻的程…

2026/6/28 19:30:08阅读更多 →
从圆角边框到滚动条:打造现代感QTableView/QHeaderView的样式实践

从圆角边框到滚动条:打造现代感QTableView/QHeaderView的样式实践

1. 为什么需要定制QTableView样式? 在开发桌面应用时,数据展示界面往往是用户最频繁接触的部分。Qt框架提供的QTableView控件虽然功能强大,但默认样式总给人一种"开发工具感"——方正的边框、朴素的表头、单调的滚动条。这种视觉体…

2026/6/28 19:25:04阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →