
Container Diet
k1lgor · コーディング
Container Dietは、あなたのDockerイメージとDockerfileを読み取り、何が容量を無駄にしていてどこにセキュリティホールがあるかを正確に教えてくれるオープンソースのコマンドラインツールだ。自分で選んだAIモデルの力を使い、問題を平易な言葉で説明し、自動で適用できる修正案を提示する。手動で実行してもいいし、CI/CDパイプラインに組み込んでもいいし、AIエディタからMCPサーバーとして呼び出してもいい。

Container Diet について
Container Dietとは
Container DietはGoで書かれたDockerイメージ最適化ツールだ。Dockerfileか実行中のイメージを指定すると、レイヤーごとに分解し、その詳細をAIモデルに渡してレビューさせる。出力はそっけないチェックリストではない。このツールの性格は、口の悪い栄養士そのもの。肥大化したコンテナをこき下ろし、そのうえでどう絞ればいいかを教えてくれる。
解決する問題は、コンテナを出荷する人なら誰でも覚えがあるだろう。半年前は問題なく動いていたDockerfileが、ゴミのようなレイヤーや古びたベースイメージ、緩い権限を少しずつ溜め込んでいく。誰も十分に注意して見ていないからだ。イメージが2GBになって誰かが理由を尋ねるまで、誰も気づかない。そこから大騒ぎになる。Container Dietはそれを早い段階で、本番に届く前に捕まえる。
正直な限界を先に言っておく。このツールはAI駆動なので、助言の質はどのモデルを繋ぐかで決まる。Ollama経由の小さなローカルモデルなら無料だが粗いフィードバックになる。最先端モデルなら鋭い答えが得られるがトークン代がかかる。それに、これはCLIとMCPサーバーであって、GUIではない。ターミナルで生活していないなら、学習の手間がある。
はじめ方
go install github.com/k1lgor/container-diet/cmd/cli@latestでCLIをインストールする。バイナリはGoのbinパスに入る。container-diet init-configを実行して設定ファイルを生成し、~/.config/container-diet/config.yamlを開いて使いたいAIプロバイダーのコメントを外す。- プロバイダーのAPIキーを貼り付ける。リクエストごとに払いたくないなら、ローカルのOllamaインスタンスを指定する。
container-diet analyze --dockerfile Dockerfile --auto-fixでファイルを分析すると、助言と最適化されたDockerfile.dietが得られる。- 結果をCIパイプラインや別のスクリプトに渡したいときは
--format jsonを付ける。
AIツール情報
Container Dietの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- Dockerイメージを出荷し、リリース前に第二の目が欲しいバックエンド/DevOpsエンジニア。
- 予算を抑えてコンテナを動かす個人開発者。ローカルのOllamaモデルなら無料で動く。
- Dockerfileを標準化したいチーム。その場しのぎの修正ではなく、一貫した自動レビューを必要とする。
タスク
- イメージサイズの削減:アナライザーは肥大化したレイヤー、不要なパッケージ、バージョンを固定していないベースイメージを指摘し、より軽いものに差し替えられるようにする。
- セキュリティレビュー:rootユーザー、誰でも書き込める権限、露出したSSHを出荷前に指摘する。
- CI/CDゲート:JSON出力を使えば、Dockerfileがベストプラクティスから後退したときにパイプラインでビルドを失敗にできる。雑な変更が気づかれないまま本番に紛れ込むのを防ぐ。
シーン
- 何年もの場当たり的な修正で散らかったレガシーDockerfileを片付ける。
- 新しいリポジトリを引き継ぎ、そのコンテナ設定がまともな基準に従っているか確かめる。
- MCP連携を通じて、AIコーディングアシスタントにエディタの中からDockerfileをレビューさせる。
主な機能
マルチプロバイダーAIバックエンド
Container Dietは特定のAIベンダーに縛り付けない。OpenAI、Anthropic、OpenRouter、Groq、DeepSeek、Mistral、xAI、Perplexity、Moonshot、Hugging Faceを含む12社以上のプロバイダー向けアダプターを備える。カスタムエンドポイントを指定したり、Ollama経由で完全にオフラインで動かしたりもできる。切り替えはフラグ一つで、書き直しは要らない。一言で終わりだ。
自動修正の生成
--auto-fix フラグは助言で止まらない。元のファイルの隣に Dockerfile.diet を書き出し、提案された変更を適用済みにする。差分を確認し、使えるものは残し、残りは捨てる。不満のリストを、実際に実行できるものへと変える。スニペットを手でコピペする必要はない。
Dockerイメージのレイヤー分析
Dockerfileだけでなく、実際のイメージも検査する。ローカルのデーモンから読む、--remote でレジストリから取得する、足りないイメージを自動で取得する、といったことができる。各レイヤーがどれだけ重いかの内訳が手に入る。自分でビルドしていないコンテナの脂肪分を見つける最速の方法だ。どのレイヤーが犯人か。レポートがずばり教えてくれる。
AIエディタ向けMCPサーバー
Container DietはModel Context Protocolサーバーも兼ねるので、Claude Desktop、Cursor、Claude Code、Codexなどのアシスタントが直接呼び出せる。4つのツールを公開し、その一つはAIトークンを使わずに素早いイメージ指標を返す。MCP設定にAPIキーを入れる必要はない。サーバーが既存の設定ファイルから読み取るからだ。
CI/CD対応のJSON出力
--format json を付けると、分析は助言テキストと生成された修正を含む構造化データとして返ってくる。パイプラインが結果を解析し、ビルドを通すか失敗させるか決めたいときに欲しい形式だ。おしゃべりなターミナル出力の塊を解析する必要も、正規表現で苦労して必要な部分を抜き出す必要もない。
設定可能で階層化された設定
設定は優先順に3か所から読み込まれる:--config フラグ、プロジェクト単位の .container-diet/config.yaml、そして ~/.config/container-diet/config.yaml のグローバルファイル。後にある項目が前のものを上書きするので、リポジトリは自前のプロバイダーとモデルの選択を持ちながら、グローバルな既定値にも戻れる。小さなことだが、どの設定が勝つかでチームが言い争うのを防いでくれる。
メリットとデメリット
メリット
- 完全に無料でオープンソース。席あたりの料金はなく、AIキーは自分で用意する。
- すでに課金しているAIプロバイダーで動く。無料のローカルOllama構成も含む。
- 助言を読んで手作業でDockerfileを編集するより、自動修正の出力は実際に時間を節約する。
- MCP対応により、ツールを切り替えずにAIエディタの中からコンテナをレビューできる。
デメリット
- CLIだけなので、視覚的なダッシュボードを期待する人はがっかりする。
- AIの出力は設定したモデル次第で、弱いモデルは微妙な問題を見落とすことがある。
- 無料利用でもプロバイダーのキーかローカルモデルが要るので、初回実行前に設定が必要だ。
よくある質問
使える。ツール自体はMITライセンスでオープンソースだ。唯一のコストは選んだAIプロバイダーの課金だけで、Ollamaでローカルモデルを動かすならゼロだ。
関連コンテンツ
Container Dietに関連するツール、スキル、記事を探す。
Container Dietの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
