Repolode
slimtoolkit

slimtoolkit/slim

SlimToolkit (Slim) inspeciona, reduz e protege imagens de container existentes sem alterar o Dockerfile ou o fluxo de trabalho.

Estrelas
23,477
Forks
851
Issues abertas
213
Último commit
mês passado

O que é?

Slim é um toolkit de linha de comando para imagens de container. Ele analisa uma aplicação em execução dentro de um container temporário, mantém apenas os arquivos necessários para a aplicação e gera uma imagem menor. O README relata reduções de até 30x em muitas imagens de linguagens interpretadas e reduções ainda maiores em imagens compiladas de Go. O sistema operacional base, o gerenciador de pacotes e o processo de build da imagem original são mantidos.

Além de reduzir imagens, Slim gera perfis de segurança Seccomp e AppArmor com base no comportamento observado da aplicação, reduzindo a superfície de ataque do container resultante. Seus subcomandos incluem xray (para inspecionar camadas da imagem e fazer engenharia reversa do Dockerfile), lint, build, debug (para anexar um sidecar de depuração a um container reduzido), run, merge, operações com registries e consultas de vulnerabilidades.

Slim é escrito em Go, licenciado sob Apache-2.0 e distribuído como binários, uma fórmula do Homebrew e uma imagem Docker. Já foi usado com aplicações em Node.js, Python, Ruby, Java, Go, Rust, Elixir e PHP, em imagens base Ubuntu, Debian, CentOS, Alpine e Distroless.

Recursos principais

  • 01Reduz imagens de container analisando a aplicação em execução, sem exigir alterações no Dockerfile.
  • 02Gera automaticamente perfis de segurança Seccomp e AppArmor.
  • 03Inspeciona camadas da imagem e faz engenharia reversa do Dockerfile com o comando xray.
  • 04Analisa Dockerfiles com o comando lint.
  • 05Oferece um fluxo de depuração com sidecar para solucionar problemas em containers reduzidos.
  • 06Dá suporte a operações com registries, à mesclagem de imagens e a consultas de vulnerabilidades.

Casos de uso

  • Reduzir o tamanho de imagens de produção para serviços em Node.js, Python, Ruby ou Go.
  • Reforçar a segurança de containers restringindo chamadas de sistema com perfis Seccomp gerados automaticamente.
  • Inspecionar imagens desconhecidas para descobrir quais arquivos contêm e como foram criadas.
  • Empacotar ferramentas de linha de comando em Docker em imagens pequenas e de finalidade única.

Início rápido

  1. 1

    Baixe o pacote zip ou tar.gz para sua plataforma pelos links do README

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

    Extraia o pacote

    tar -xvf ds.tar.gz
  3. 3

    Mova o binário slim para o diretório bin

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

    Minifique uma imagem compilando uma versão slim com base no exemplo do README

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

Antes de usar

  • Algumas stacks de aplicativos precisam de flags probing adicionais ou de --include-path para capturar arquivos carregados dinamicamente.
  • A análise é feita executando um contêiner temporário, portanto o Docker precisa estar disponível.

Em coleções

Tópicos

Perguntas frequentes

O que é slim?
SlimToolkit (Slim) inspeciona, reduz e protege imagens de container existentes sem alterar o Dockerfile ou o fluxo de trabalho. Slim é um toolkit de linha de comando para imagens de container. Ele analisa uma aplicação em execução dentro de um container temporário, mantém apenas os arquivos necessários para a aplicação e gera uma imagem menor. O README relata reduções de até 30x em muitas imagens de linguagens interpretadas e reduções ainda maiores em imagens compiladas de Go. O sistema operacional base, o gerenciador de pacotes e o processo de build da imagem original são mantidos.
slim é gratuito? Qual é a licença?
slim é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
slim ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de slim foi em 19 de set. de 2026.
Para que posso usar slim?
Reduzir o tamanho de imagens de produção para serviços em Node.js, Python, Ruby ou Go. Reforçar a segurança de containers restringindo chamadas de sistema com perfis Seccomp gerados automaticamente. Inspecionar imagens desconhecidas para descobrir quais arquivos contêm e como foram criadas. Empacotar ferramentas de linha de comando em Docker em imagens pequenas e de finalidade única.
Como instalar slim?
Baixe o pacote zip ou tar.gz para sua plataforma pelos links do README: curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz Extraia o pacote: tar -xvf ds.tar.gz Mova o binário slim para o diretório bin: mv dist_linux/slim /usr/local/bin/ Minifique uma imagem compilando uma versão slim com base no exemplo do README: slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
Onde consigo slim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/slimtoolkit/slim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados