kern:3.5msで起動するRust製rootlessコンテナランタイム — AIコード実行サンドボックスにも対応
「Dockerを起動するたびにデーモンの重さを感じる」「LLM生成コードを安全に実行したいが大掛かりなセットアップは避けたい」——そんな課題に応えるのが kern(getkern/kern)です。Rustで書かれた1.52MBの静的バイナリ1本で、デーモン不要のrootlessコンテナを約3.5ミリ秒で起動します。Dockerの約297msと比べると実に85倍の高速化。しかも1.52MBという驚異的な小ささで、GitHubスター369を集めています(2026年9月時点)。
さらにAIエージェントのLLM生成コードを安全に実行するkern-sandbox(Python/Node.jsバインディング)と、Claude DesktopやCursor向けのMCPサーバー(kern-mcp)を内蔵しており、現代のAIネイティブな開発ワークフローにも対応しています。
kern コンテナランタイムとは何か:軽量化の哲学
kernは「コンテナランタイムでありながら、サンドボックスでもあり、リソーススライサーでもあり、スタックランナーでもある」ツールです。そのすべてが1.52MBのバイナリに収まっています。
設計思想:依存を削ぎ落とす
Rustの依存クレートはlibcのみ。JSONやOCIマニフェストは手書きパーサーで処理し、TLSスタックのリンクを避けるためにpullはcurlとtarに委譲するという徹底ぶりです。その結果:
- 待機時のRAM使用量 = 0(デーモンプロセスなし)
- 静的バイナリ1本(インストール後に余計なファイルなし)
- 起動時間 ≈ 3.5ms(対Docker: 297ms、対Podman: 293ms)
コンテナ技術として本物
「軽量だから機能が限られる」は当てはまりません。kernは本物のOCIイメージに対応し、pull・build(Dockerfile)・commit・push・save/loadをすべてサポートします。
インストール方法:3パターン
推奨:インストールスクリプト(30秒)
curl -fsSL https://raw.githubusercontent.com/getkern/kern/main/install.sh | sh
スクリプトがアーキテクチャ(x86_64 / aarch64)を自動判別し、SHA256チェックサムを検証してから~/.local/bin(root実行時は/usr/local/bin)にインストールします。
手動検証あり
curl -fsSLO https://github.com/getkern/kern/releases/latest/download/kern-x86_64-unknown-linux-musl.tar.gz{,.sha256}
sha256sum -c kern-x86_64-unknown-linux-musl.tar.gz.sha256 && tar xzf kern-x86_64-unknown-linux-musl.tar.gz
ソースビルド(Rust開発者向け)
# Rust未インストールの場合
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install --git https://github.com/getkern/kern getkern --locked
依存クレートがlibcのみのため、i7-14700KF環境で36秒でビルド完了します。
kern の使い方:クイックスタート5コマンド
インストール直後から使えるコマンドを紹介します。
1. OCIイメージからのインタラクティブシェル
kern box dev --image alpine -it -- sh
Alpine Linuxのシェルが約3.5msで起動します。exit後はコンテナが即座に消えます。
2. バックグラウンドサービス起動
kern box svc --image nginx:alpine -d -p 8080:80
-dでデタッチ、-pでポートフォワード。kern psでステータス確認、kern logs svcでログ確認。
3. サンドボックスなしのリソース制限実行
kern run --memory 256M --cpus 0.5 -- ./heavy_process
コンテナ(名前空間分離)なしで、CPUとメモリだけを制限してホストプロセスを実行します。
4. スタック起動(docker-compose.yml互換)
kern compose stack.toml up
# または既存のdocker-compose.ymlをそのまま指定
kern compose docker-compose.yml up
5. リアルタイムTUIダッシュボード
kern top
CPU・メモリ・ディスク・デバイスの使用状況をリアルタイムで監視できるターミナルUIが開きます。
AIエージェントのコード実行サンドボックスとして使う
kernが特に注目されているのが、LLM生成コードの安全な実行環境としての活用です。
kern-sandbox:Python/Node.jsバインディング
pip install kern-sandbox # PyPI
npm install kern-sandbox # npm
from kern_sandbox import run_code
result = run_code("import platform; print(platform.python_version())")
print(result.stdout)
# タイムアウト・OOMキル・ブロックされたシステムコールは例外ではなくresult.faultとして返る
フレッシュなコンテナでネットワーク遮断・メモリ上限・PID制限・ケイパビリティドロップが自動適用されます。障害はデータとして返る設計(例外にならない)が特徴で、エラーハンドリングがシンプルになります。
MCP サーバー(Claude Desktop・Cursor対応)
pip install kern-sandbox # kern-mcp も同梱
Claude DesktopやCursorのMCP設定に追加するだけで、ローカルコードインタープリターとして使えます:
{ "mcpServers": { "kern": { "command": "kern-mcp" } } }
利用可能ツール:run_code(python/bash/node)、write_file、read_file、list_files。各呼び出しはフレッシュなネットワーク遮断ボックスで実行され、ファイルはワークスペース上に永続化されます。
kernとの違い・なぜ今このツールか
Docker・Podman・bubblewrapとの性能比較を同一ハードウェア(i7-14700KF、Linux 7.0)で計測した結果:
| kern | Docker | Podman | |
|---|---|---|---|
| デーモン | 不要 | 必要 | 不要 |
| rootless | 常時 | オプション | yes |
| コールドスタート | ~3.5 ms | ~297 ms | ~293 ms |
| 待機時メモリ | 0 | 154〜160 MB | 0 |
| フットプリント | 静的バイナリ1本 | デーモンスタック | マルチバイナリ |
bubblewrapとの比較:コールドスタート速度は同等(~2.3ms)ですが、bubblewrapはOCIイメージ・ライフサイクル管理・リソースプロファイルを持ちません。kernはそれらを1バイナリに統合しています。
GitHubでの急上昇背景:AIエージェント(Claude Code含む)のツールコール実行にセキュアなサンドボックスが求められる中、「軽量・デーモンなし・MCP対応」という組み合わせが開発者の関心を集めています。
こんな人に向いている:職種別活用シーン
DevOpsエンジニア・インフラエンジニア
CI/CDパイプラインでDockerデーモンなしにコンテナをビルド・テストしたいエンジニアに最適です。200コンテナの並列起動が0.11秒(Docker: 16.2秒)という性能はGitHub ActionsのセルフホストランナーやJenkins環境での大幅高速化につながります。
AIエンジニア・LLMアプリケーション開発者
LLMが生成したコードをkern-sandboxで安全に実行するアーキテクチャは、コードエージェント・Jupyter代替・Devinライクなシステム構築に直接活用できます。タイムアウト・OOMが例外でなくデータとして返る設計により、ロバストなエラーハンドリングが実現します。
Rustエンジニア・システムプログラマー
依存クレートがlibcのみという極限まで削ぎ落とされた設計はRust学習の教材としても優秀です。Linuxの名前空間・seccomp・cgroupの実用的な活用例をRustで学べます。
RaspberryPi・Jetsonなどのエッジデバイス開発者
aarch64バイナリが提供されており、リソース制約の厳しいARMボード上でも動作します。IoTデバイスのGPIOアクセスをvgpio:プロファイルで制御する例もREADMEに含まれています。
使う前に知っておきたいこと
プラットフォーム制限:
Linuxネイティブのみ対応。macOSネイティブビルドは提供されず、今後の予定もありません(macOSには名前空間もcgroupsも存在しないため)。macOSユーザーはcolima・Lima・OrbStack等のLinux VM経由での利用が必要です。Windows向けはWSL2経由でのみ動作します(WSL2向けのrootfsも同梱)。
GPU対応:
ロードマップ掲載中ですが、現時点では未対応です。GPU利用が必要な場合はDockerを継続使用する必要があります。
vgpioの粒度:
GPIO制御は「ピン単位」ではなく「チップ単位(/dev/gpiochipN全体)」でのアクセス付与となります。特定ピンのみ許可する境界はカーネルレベルでは実現できません。
ライセンス:
Apache License 2.0。商用利用・改変・再配布は自由ですが、著作権表示とライセンス文書の保持が必要です。TRADEMARKファイルでブランド利用に関する追加条件も定義されています。
Linux カーネル要件:
非特権ユーザー名前空間(unprivileged user namespaces)とcgroup v2が必要です。kern doctorコマンドで事前確認できます。
関連ツール・おすすめサービス
- DigitalOcean — kernをVPS上で動かすならDropletが最適。App Platformでコンテナアプリをかんたんデプロイ
- さくらVPS — 国内ホスティングでkernをセルフホストするならこちら。月額費用を抑えた自分サーバー構築に
この技術を学ぶ
Rust・コンテナ技術・CLIツール開発に興味を持った方には、Udemyのオンラインコースもおすすめです。
- 🎓 関連するCLI・Rustコース一覧 — セール時(最大90%OFF)を狙うとお得です
まとめ
kernはDockerの複雑さに疲れたエンジニアと、AIエージェントのコード実行基盤を探しているMLエンジニアの両方にフィットするツールです。1.52MBバイナリ・デーモンなし・rootless常時・3.5ms起動という性能と、Claude Desktop/Cursor向けMCPサーバー内蔵というAI対応の両軸で、2026年後半のGitHub急上昇リポジトリに選ばれた理由が明確です。Apache 2.0の完全オープンソースで商用利用も可能。まずkern doctorで手元の環境を確認するところから始めてみてください。
関連記事
openGymとは?サブスクなしで使えるセルフホスト型筋トレ・体重トラッカー
openGymはDocker一発で自鯖構築できる無料の筋トレ・体重トラッカーです。1,324種のエクササイズ、パスキー認証、自動プログレッション機能を備えたAGPL-3.0オープンソースの使い方を解説します。
この記事が役に立ったらシェアしてください