Bitnami가 관리하는 인기 오픈소스 애플리케이션 모음으로, 바로 실행할 수 있도록 보안 강화된 Docker 컨테이너 이미지로 패키징되어 있습니다.
slimtoolkit/slim
SlimToolkit(Slim)은 Dockerfile이나 워크플로를 바꾸지 않고 기존 컨테이너 이미지를 검사하고 최소화하며 보안을 강화합니다.
- 스타
- 23,477
- 포크
- 851
- 열린 이슈
- 213
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
Slim은 컨테이너 이미지용 CLI 툴킷입니다. 임시 컨테이너에서 실행 중인 애플리케이션을 분석하고, 애플리케이션에 필요한 파일만 남겨 더 작은 이미지를 만듭니다. README에 따르면 인터프리터 언어 기반 이미지 다수에서 최대 30배까지 크기를 줄일 수 있으며, Go로 컴파일한 이미지는 더 크게 줄일 수 있습니다. 원본 이미지의 기본 OS, 패키지 관리자, 빌드 프로세스는 그대로 유지됩니다.
이미지 최소화 외에도 Slim은 관찰된 애플리케이션 동작을 바탕으로 Seccomp 및 AppArmor 보안 프로필을 생성해 결과 컨테이너의 공격 표면을 줄입니다. 하위 명령으로는 이미지 레이어를 검사하고 Dockerfile을 역공학하는 xray, lint, build, 최소화된 컨테이너에 디버깅 사이드카를 연결하는 debug, run, merge, 레지스트리 작업, 취약점 조회 등이 있습니다.
Slim은 Go로 작성되었으며 Apache-2.0 라이선스로 제공됩니다. 바이너리, Homebrew formula, Docker 이미지 형태로 배포됩니다. Ubuntu, Debian, CentOS, Alpine, Distroless 기반 환경에서 Node.js, Python, Ruby, Java, Go, Rust, Elixir, PHP 앱에 사용된 바 있습니다.
핵심 기능
- 01실행 중인 애플리케이션을 분석해 Dockerfile을 변경하지 않고 컨테이너 이미지를 최소화합니다.
- 02Seccomp 및 AppArmor 보안 프로필을 자동으로 생성합니다.
- 03xray 명령으로 이미지 레이어를 검사하고 Dockerfile을 역공학합니다.
- 04lint 명령으로 Dockerfile을 검사합니다.
- 05최소화된 컨테이너의 문제 해결을 위한 디버깅 사이드카 워크플로를 제공합니다.
- 06레지스트리 작업, 이미지 병합, 취약점 조회를 지원합니다.
활용 사례
- Node.js, Python, Ruby, Go 서비스의 프로덕션 이미지 크기를 줄이는 경우.
- 자동 생성된 Seccomp 프로필로 시스템 호출을 제한해 컨테이너 보안을 강화하는 경우.
- 익숙하지 않은 이미지에 어떤 파일이 들어 있고 어떻게 빌드되었는지 검사하는 경우.
- Docker화된 CLI 도구를 작고 단일 목적에 맞는 이미지로 패키징하는 경우.
빠른 시작
- 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
패키지의 압축을 풉니다
tar -xvf ds.tar.gz - 3
slim 바이너리를 bin 디렉터리로 이동합니다
mv dist_linux/slim /usr/local/bin/ - 4
README 예제를 사용해 slim 버전을 빌드하여 이미지를 minify합니다
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로 컴파일한 이미지는 더 크게 줄일 수 있습니다. 원본 이미지의 기본 OS, 패키지 관리자, 빌드 프로세스는 그대로 유지됩니다.
- slim은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- slim은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- slim은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. slim의 마지막 커밋은 2026년 9월 19일입니다.
- slim은(는) 어디에 사용할 수 있나요?
- Node.js, Python, Ruby, Go 서비스의 프로덕션 이미지 크기를 줄이는 경우. 자동 생성된 Seccomp 프로필로 시스템 호출을 제한해 컨테이너 보안을 강화하는 경우. 익숙하지 않은 이미지에 어떤 파일이 들어 있고 어떻게 빌드되었는지 검사하는 경우. Docker화된 CLI 도구를 작고 단일 목적에 맞는 이미지로 패키징하는 경우.
- 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 버전을 빌드하여 이미지를 minify합니다: slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
- slim은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/slimtoolkit/slim
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
환경 변수로 Docker API의 특정 섹션을 허용하거나 차단하는, 보안에 중점을 둔 Docker 소켓 앞단의 HAProxy 프록시입니다.
Moby는 컨테이너 기반 시스템을 빌드하고 실행하며 오케스트레이션하는 모듈형 구성 요소를 제공하는 Docker의 오픈 소스 컨테이너 프로젝트입니다.
단일 Compose 파일로 여러 컨테이너로 구성된 Docker 애플리케이션을 정의하고 실행하는 CLI 도구입니다.
프로세스, 포트, 컨테이너 또는 파일의 시작 경로를 추적하는 CLI 및 TUI입니다.
Kubernetes나 Swarm 없이 WireGuard 메시를 통해 자체 Docker 호스트 여러 대에 컨테이너 앱을 배포하고 확장합니다.