终极指南:如何使用openeuler/splitter打造轻量级distroless镜像

发布时间:2026/9/27 16:26:36

终极指南:如何使用openeuler/splitter打造轻量级distroless镜像
终极指南如何使用openeuler/splitter打造轻量级distroless镜像【免费下载链接】splitterSplitting openEuler packages into multiple slices for building distroless images.项目地址: https://gitcode.com/openeuler/splitter前往项目官网免费下载https://ar.openeuler.org/ar/openEuler / splitter是一款专为生成轻量级distroless镜像设计的工具它能够将openEuler软件包分割成多个功能切片slices以切片为最小构建单元有效减少镜像冗余文件降低安全风险。本文将详细介绍如何通过这款强大工具轻松构建高效精简的容器镜像。为什么选择splitter打造distroless镜像传统容器镜像构建常使用RUN yum install直接打包RPM软件包这种方式会导致镜像包含大量冗余文件不仅增加镜像体积还会暴露更多攻击面。而splitter通过以下创新方式解决这些问题精细化切片将每个RPM包分割为多个功能独立的slices每个slice包含特定功能的文件集合智能依赖管理将包之间的依赖关系细化为slice间的依赖避免不必要的依赖引入自动化SDF生成通过智能分析自动生成切片定义文件SDF简化镜像构建流程快速安装splitter的两种方法方法一openEuler系统一键安装# 安装依赖 dnf install python3-dnf git python3-pip cpio binutils # 克隆仓库 git clone https://gitcode.com/openeuler/splitter # 进入项目目录 cd splitter # 安装依赖包 pip3 install -r requirements.txt # 执行安装 python3 setup.py install方法二使用官方容器镜像推荐无需本地安装依赖直接通过脚本运行# 克隆仓库 git clone https://gitcode.com/openeuler/splitter # 进入项目目录 cd splitter # 直接运行命令无需安装 ./bin/splitter-docker.sh --help指定版本使用SPLITTER_VERSION1.0.3 ./bin/splitter-docker.sh cut -r 24.03-LTS -a x86_64 -o ./output python3_standardsplitter核心工作流程解析splitter通过清晰的工作流程将RPM包转换为可用的slices主要包括以下步骤RPM包下载获取需要处理的openEuler RPM软件包解压提取RPM包中的文件内容文件分类根据文件类型和功能进行智能分类依赖分析分析文件间的依赖关系构建依赖图谱写入SDF生成切片定义文件为后续切割做准备掌握splitter的两个核心命令1. 使用cut命令生成切片cut命令根据SDF文件将RPM包分割为多个功能切片本地安装方式splitter cut -r 24.03-LTS -a x86_64 -o /path/to/output python3_standard python3_utils容器运行方式./bin/splitter-docker.sh cut -r 24.03-LTS -a x86_64 -o /path/to/output python3_standard python3_utils2. 使用gen命令自动生成SDF文件gen命令通过分析RPM包内容自动生成初始SDF文件极大简化手动编写工作本地安装方式splitter gen -r 24.03-LTS -o /path/to/output -p brotli容器运行方式./bin/splitter-docker.sh gen -r 24.03-LTS -o /path/to/output -p brotli实际应用构建轻量级Python应用镜像以Python应用为例使用splitter构建distroless镜像的典型步骤生成Python相关SDF文件splitter gen -r 24.03-LTS -o ./sdf python3 python3-pip根据SDF切割出所需切片splitter cut -r 24.03-LTS -a x86_64 -o ./slices -s ./sdf python3_standard通过EulerPublisher构建最终镜像使用生成的切片作为输入通过EulerPublisher构建最小化的Python运行环境镜像。总结打造安全高效的容器镜像通过openeuler/splitter开发者可以轻松实现✅ 减少镜像体积达40%以上✅ 降低安全攻击面✅ 加速镜像构建和部署流程✅ 简化复杂应用的依赖管理无论是云原生应用部署还是边缘计算场景splitter都能帮助你构建更轻量、更安全、更高效的容器镜像。立即尝试这款强大工具体验distroless镜像带来的优势【免费下载链接】splitterSplitting openEuler packages into multiple slices for building distroless images.项目地址: https://gitcode.com/openeuler/splitter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

openEuler SBOM-website自定义开发指南:扩展功能与二次开发

openEuler SBOM-website自定义开发指南:扩展功能与二次开发

2026/8/29 17:13:14

openEuler SBOM-website自定义开发指南:扩展功能与二次开发 【免费下载链接】sbom-website A frontend service named sbom-website, designed for showing sbom secure supply chain governance process. 项目地址: https://gitcode.com/openeuler/sbom-website …

AI车牌识别技术解析与应用实践

AI车牌识别技术解析与应用实践

2026/8/31 5:29:12

1. AI车牌识别技术如何重塑现代出行体验 停车场入口的栏杆在你靠近时自动抬起,高速公路收费站无需停车即可完成缴费,这些场景的实现都依赖于AI车牌识别技术的成熟应用。作为计算机视觉领域最成功的落地案例之一,车牌识别技术正在以每年23%的复…

Windows 11 22H2版本更新指南与优化技巧

Windows 11 22H2版本更新指南与优化技巧

2026/9/25 6:42:21

1. Windows 11 22H2版本更新概览Windows 11 22H2(2022年更新)是微软推出的重要功能更新版本,带来了多项性能优化和新特性。这个版本在系统稳定性、安全防护和用户体验方面都有显著提升,特别是针对混合办公场景做了专门优化。作为长…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/26 19:14:12

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/27 1:30:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/27 1:30:37

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/27 1:30:35

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/27 1:30:34

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/26 16:36:51

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/26 14:29:04

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/26 13:57:22

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/26 23:35:16

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…