開発者ツール · Developer
Dockerfile リンター
Dockerfileを貼り付けるとベストプラクティス違反を行単位で検出し、理由と改善案を日本語で表示。構成サマリーも可視化します。ブラウザ内で完結
最終更新:
使い方
使い方を開く使い方を閉じる
- 1
Dockerfile を貼り付け
検査したい Dockerfile をテキストエリアに貼り付けます。サンプルから試すこともできます。
- 2
問題と理由・改善案を確認
検出された違反が重要度別に一覧表示されます。各項目で「なぜ問題か」と「どう直すか」を確認できます。行番号をクリックすると該当行へ移動します。
- 3
構成サマリーで全体を把握
命令数・ステージ数・推定レイヤー数・マルチステージ依存が表示され、Dockerfile の構造を素早く把握できます。
Dockerfile
Dockerfile を貼り付けると、ベストプラクティス違反を検出します。サンプルから試すこともできます。
Dockerfile リンターとは
Dockerfile リンターは、Dockerfile をブラウザ内で解析し、ベストプラクティス違反を行単位で検出するオンラインツールです。タグの固定漏れ(latest 依存)、ローカルファイルへの ADD 誤用、shell 形式の CMD/ENTRYPOINT、MAINTAINER の使用、相対パスの WORKDIR、連続する RUN、マルチステージビルドのステージ参照ミスなどを、hadolint にインスパイアされた15のルールでチェックします。各指摘には「なぜそれが問題か(理由)」と「どう直すか(改善案)」を日本語で併記するため、ルールの意図まで理解しながら修正できます。あわせて、命令数・ステージ数・推定レイヤー数・マルチステージ依存を構成サマリーとして可視化し、Dockerfile 全体の構造を素早く把握できます。すべての処理はブラウザ内で完結し、入力した内容が外部サーバーへ送信されることはありません。
主な機能
- 行単位でベストプラクティス違反を検出(15ルール)
- 各指摘に「理由」と「改善案」を日本語で表示
- 命令数・ステージ・推定レイヤーの構成サマリーを可視化
- すべてブラウザ内で完結し外部サーバーへの送信なし
こんな場面で役立ちます
- Dockerfile を書き始めたときやレビュー時のチェック
- マルチステージビルドのステージ参照の整合確認
- latest タグや ADD 誤用などのアンチパターンの早期発見
- CI に hadolint を導入する前の手元での確認
よくある質問
入力した Dockerfile は外部に送信されますか?
いいえ。解析・検査はすべてブラウザ内の JavaScript で実行され、Dockerfile が外部サーバーへ送信されることはありません。
COPY と ADD はどう使い分けるべきですか?
単純なファイル・ディレクトリのコピーには COPY を使います。ADD は tar アーカイブの自動展開やリモート URL の取得といった追加機能を持つため、それらが必要な場合にだけ使うのが推奨です。
なぜ latest タグを避けるべきですか?
latest は同じ名前のまま中身が更新されるため、ビルドのたびに異なるイメージが使われる可能性があります。node:20.11-slim のように具体的なバージョンを固定すると、再現性のあるビルドになります。
マルチステージビルドとは何ですか?
1つの Dockerfile に複数の FROM を書き、ビルド用ステージで生成した成果物だけを COPY --from で最終イメージに取り込む手法です。最終イメージを小さく保てます。本ツールはステージ間の依存を構成サマリーで可視化します。
hadolint との違いは何ですか?
本ツールは hadolint にインスパイアされた独自ルールセットを使い、各指摘の理由と改善案を日本語で表示し、ブラウザだけで動作します。CI での自動チェックには hadolint などの CLI を併用するのがおすすめです。
`docker build --check` との違いは何ですか?
`docker build --check` は、Docker をインストールした環境で BuildKit(Buildx 0.15.0 以降)が Dockerfile を検証する公式のチェック機能で、--check フラグを付けるとビルドを実行せずチェックだけを行えます。本ツールはインストール不要で、ブラウザに Dockerfile を貼り付けるだけですぐにチェックできます。手元での素早い確認には本ツール、CI やビルドパイプラインでは `docker build --check` や hadolint の併用がおすすめです。