Repolode
slimtoolkit

slimtoolkit/slim

SlimToolkit(Slim)无需修改 Dockerfile 或工作流,即可分析、精简并加固现有容器镜像。

Star
23,477
Fork
851
未关闭 Issue
213
最近提交
上个月

这是什么?

Slim 是一个面向容器镜像的命令行工具集。它会在临时容器中运行应用并分析其实际需要的文件,只保留这些内容,从而生成更小的镜像。对于多数解释型语言的镜像,可精简至原来的约 30 分之一;编译型语言(如 Go)的镜像缩减幅度更大。原镜像的基础系统、包管理器和构建方式都可以保持不变。

除了精简镜像,Slim 还能根据应用的实际行为自动生成 Seccomp 和 AppArmor 安全配置,减少容器的攻击面。它提供 xray(分析镜像分层并反推 Dockerfile)、lint、build、debug(为精简后的容器挂载调试用的边车容器)、run、merge、registry 以及漏洞查询等子命令。

Slim 使用 Go 编写,采用 Apache-2.0 许可证,可通过预编译二进制、Homebrew 或 Docker 镜像安装。已支持 Node.js、Python、Ruby、Java、Go、Rust、Elixir 和 PHP 应用,基础镜像涵盖 Ubuntu、Debian、CentOS、Alpine 和 Distroless。

核心功能

  • 01无需修改 Dockerfile,通过分析运行中的应用来精简容器镜像。
  • 02自动生成 Seccomp 和 AppArmor 安全配置文件。
  • 03通过 xray 命令查看镜像分层内容并反推 Dockerfile。
  • 04通过 lint 命令检查 Dockerfile。
  • 05为精简后的容器提供调试边车容器的排障方式。
  • 06支持镜像仓库操作、镜像合并和漏洞查询。

适用场景

  • 为 Node.js、Python、Ruby 或 Go 服务缩减生产环境镜像体积。
  • 通过自动生成的 Seccomp 配置限制系统调用,加固容器。
  • 检查陌生镜像的文件内容和构建方式。
  • 将容器化的命令行工具打包为体积小、用途单一的镜像。

快速上手

  1. 1

    从 README 链接下载适合您平台的 zip 或 tar.gz 安装包

    curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz
  2. 2

    解压安装包

    tar -xvf ds.tar.gz
  3. 3

    将 slim 可执行文件移动到您的 bin 目录

    mv dist_linux/slim /usr/local/bin/
  4. 4

    按照 README 示例,为镜像构建精简版本

    slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"

使用前须知

  • 部分应用栈需要额外的探测参数或 --include-path,才能捕获动态加载的文件。
  • 工具通过运行临时容器进行分析,因此需要可用的 Docker 环境。

收录于专题

标签

常见问题

slim 是什么?
SlimToolkit(Slim)无需修改 Dockerfile 或工作流,即可分析、精简并加固现有容器镜像。 Slim 是一个面向容器镜像的命令行工具集。它会在临时容器中运行应用并分析其实际需要的文件,只保留这些内容,从而生成更小的镜像。对于多数解释型语言的镜像,可精简至原来的约 30 分之一;编译型语言(如 Go)的镜像缩减幅度更大。原镜像的基础系统、包管理器和构建方式都可以保持不变。
slim 可以免费使用吗?用的什么许可证?
slim 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
slim 还在维护吗?
半年内有更新。slim 最近一次提交是在 2026年9月19日。
slim 适合用来做什么?
为 Node.js、Python、Ruby 或 Go 服务缩减生产环境镜像体积。 通过自动生成的 Seccomp 配置限制系统调用,加固容器。 检查陌生镜像的文件内容和构建方式。 将容器化的命令行工具打包为体积小、用途单一的镜像。
slim 怎么安装和运行?
从 README 链接下载适合您平台的 zip 或 tar.gz 安装包: curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz 解压安装包: tar -xvf ds.tar.gz 将 slim 可执行文件移动到您的 bin 目录: mv dist_linux/slim /usr/local/bin/ 按照 README 示例,为镜像构建精简版本: slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
在哪里获取 slim?
源代码和安装说明在 GitHub 上:https://github.com/slimtoolkit/slim

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目