Bitnamiがメンテナンスする、すぐに使えるセキュリティ強化済みDockerコンテナイメージとして提供される、人気のオープンソースアプリケーション集です。
slimtoolkit/slim
SlimToolkit(Slim)は、Dockerfileやワークフローを変更せずに、既存のコンテナイメージを解析・軽量化・強化します。
- スター
- 23,477
- フォーク
- 851
- 未解決の Issue
- 213
- 最終コミット
- 先月
これは何?
Slimはコンテナイメージ向けのコマンドラインツールキットです。一時コンテナ内で実行中のアプリケーションを解析し、アプリケーションに必要なファイルだけを残して、より小さなイメージを生成します。READMEによると、多くのインタプリタ型言語のイメージで最大30倍、コンパイル済みのGoイメージではさらに大幅な軽量化が可能です。元のイメージのベースOS、パッケージマネージャー、ビルドプロセスはそのまま維持されます。
軽量化に加えて、Slimはアプリケーションの動作を観察してSeccompとAppArmorのセキュリティプロファイルを生成し、生成後のコンテナの攻撃対象領域を縮小します。サブコマンドには、xray(イメージレイヤーの調査とDockerfileのリバースエンジニアリング)、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化されたコマンドラインツールを、小さく単機能なイメージにパッケージ化する。
クイックスタート
- 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はコンテナイメージ向けのコマンドラインツールキットです。一時コンテナ内で実行中のアプリケーションを解析し、アプリケーションに必要なファイルだけを残して、より小さなイメージを生成します。READMEによると、多くのインタプリタ型言語のイメージで最大30倍、コンパイル済みのGoイメージではさらに大幅な軽量化が可能です。元のイメージのベースOS、パッケージマネージャー、ビルドプロセスはそのまま維持されます。
- slim は無料で使えますか?ライセンスは?
- slim は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- slim は今もメンテナンスされていますか?
- 半年以内に更新あり。slim の最終コミットは 2026年9月19日 です。
- slim は何に使えますか?
- Node.js、Python、Ruby、Goのサービスで、本番用イメージのサイズを削減する。 自動生成したSeccompプロファイルでシステムコールを制限し、コンテナを強化する。 中身やビルド方法を把握するため、詳細の分からないイメージを調査する。 Docker化されたコマンドラインツールを、小さく単機能なイメージにパッケージ化する。
- 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ソケットの前段に置くセキュリティ重視のHAProxyプロキシ。環境変数でDocker APIの各セクションへのアクセスを許可・拒否できます。
Mobyは、コンテナベースのシステムの構築、実行、オーケストレーションに使えるモジュール式コンポーネントを提供する、Dockerのオープンソースコンテナプロジェクトです。
単一のComposeファイルでマルチコンテナDockerアプリケーションを定義し、実行するCLIツール。
プロセス、ポート、コンテナ、ファイルを起点までたどり、起動したシステムの連鎖を明らかにするCLI/TUIです。
KubernetesやSwarmを使わず、WireGuardメッシュ経由で自前のDockerホスト間にコンテナアプリをデプロイし、スケールできます。