Repolode
slimtoolkit

slimtoolkit/slim

SlimToolkit (Slim) анализирует, уменьшает и защищает существующие образы контейнеров, не требуя менять Dockerfile или рабочий процесс.

Звёзды
23,477
Форки
851
Открытые issues
213
Последний коммит
в прошлом месяце

Что это?

Slim — это CLI-инструментарий для работы с образами контейнеров. Он анализирует приложение, запущенное во временном контейнере, оставляет только необходимые ему файлы и создает образ меньшего размера. Согласно README, образы для многих интерпретируемых языков удается уменьшить до 30 раз, а для скомпилированных приложений на Go — еще сильнее. Базовая ОС, пакетный менеджер и процесс сборки исходного образа остаются без изменений.

Помимо уменьшения образов, Slim создает профили безопасности Seccomp и AppArmor на основе наблюдаемого поведения приложения, тем самым сокращая поверхность атаки результирующего контейнера. В набор подкоманд входят xray (анализ слоев образа и реконструкция Dockerfile), lint, build, debug (подключение отладочного sidecar-контейнера к уменьшенному контейнеру), run, merge, операции с реестрами и поиск уязвимостей.

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Анализирует слои образа и реконструирует Dockerfile с помощью команды xray.
  • 04Проверяет Dockerfile с помощью команды lint.
  • 05Предоставляет сценарий отладки с sidecar-контейнером для диагностики уменьшенных контейнеров.
  • 06Поддерживает операции с реестрами, объединение образов и поиск уязвимостей.

Сценарии использования

  • Уменьшение размера production-образов для сервисов на Node.js, Python, Ruby или Go.
  • Защита контейнеров путем ограничения системных вызовов с помощью автоматически созданных профилей Seccomp.
  • Анализ незнакомых образов, чтобы узнать, какие файлы в них есть и как они были собраны.
  • Упаковка CLI-инструментов в Docker в небольшие образы для одной задачи.

Быстрый старт

  1. 1

    Скачайте пакет zip или tar.gz для своей платформы по ссылкам в README

    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

    Минифицируйте образ, собрав его slim-версию по примеру из README

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

Что важно знать

  • Для некоторых стеков приложений нужны дополнительные probing-флаги или --include-path, чтобы захватить динамически загружаемые файлы.
  • Анализ выполняется при запуске временного контейнера, поэтому Docker должен быть доступен.

В подборках

Темы

Частые вопросы

Что такое slim?
SlimToolkit (Slim) анализирует, уменьшает и защищает существующие образы контейнеров, не требуя менять Dockerfile или рабочий процесс. Slim — это CLI-инструментарий для работы с образами контейнеров. Он анализирует приложение, запущенное во временном контейнере, оставляет только необходимые ему файлы и создает образ меньшего размера. Согласно README, образы для многих интерпретируемых языков удается уменьшить до 30 раз, а для скомпилированных приложений на Go — еще сильнее. Базовая ОС, пакетный менеджер и процесс сборки исходного образа остаются без изменений.
slim можно использовать бесплатно? Какая у него лицензия?
slim распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
slim всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в slim — 19 сент. 2026 г..
Для чего можно использовать slim?
Уменьшение размера production-образов для сервисов на Node.js, Python, Ruby или Go. Защита контейнеров путем ограничения системных вызовов с помощью автоматически созданных профилей Seccomp. Анализ незнакомых образов, чтобы узнать, какие файлы в них есть и как они были собраны. Упаковка CLI-инструментов в Docker в небольшие образы для одной задачи.
Как установить slim?
Скачайте пакет zip или tar.gz для своей платформы по ссылкам в README: 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/ Минифицируйте образ, собрав его slim-версию по примеру из README: slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
Где скачать slim?
Исходный код и инструкции по установке — на GitHub: https://github.com/slimtoolkit/slim

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты