Dockerfile フォーマッター
Dockerfileを整形し、ベストプラクティスやlintの提案を表示します。
Dockerfile はブラウザ内のローカルで整形・リントされ、貼り付けた内容がサーバーにアップロードされることはありません。
ビルドコンテキストを管理しますか? Gitignore Generator で .gitignore を生成しましょう。
Dockerfile フォーマッター について
この dockerfile フォーマッターは、Dockerfile を整え、Docker のベストプラクティスに照らしてチェックする処理を一度に行います。Dockerfile を貼り付けると、各命令キーワードを大文字に正規化し、末尾の空白を削り、連続する空行をまとめてファイルを一貫した見た目にします。軽量な dockerfile リンターとしても機能し、よくある問題も指摘します: 固定されていないベースイメージのタグ、COPY を使うべき場面の ADD、--no-install-recommends のない apt-get インストール、残った apt キャッシュ、sudo の使用、RUN 内の cd、結合できる RUN レイヤー、root のまま実行されるコンテナなどです。dockerfile をオンラインで整形し、コミット前に dockerfile のベストプラクティスに沿ってイメージビルドを引き締めたい開発者や DevOps エンジニア向けに作られています。すべてはブラウザ内のローカルで動作するため、貼り付けた Dockerfile は端末上で処理され、データが端末から外に出ることはありません。
機能
- すべての Dockerfile 命令(FROM・RUN・COPY・CMD など)を一貫したスタイルのため大文字化
- 末尾の空白を削り、連続する空行をまとめる
- ベースイメージが :latest または固定タグなしのときに警告
- ローカルファイルには ADD ではなく COPY を提案
- イメージ縮小のため --no-install-recommends と apt キャッシュのクリーンアップを推奨
- sudo の使用や USER 未設定で root 実行されるコンテナを指摘
- 結合してレイヤーを減らせる連続する RUN ステップを検出
- 各提案を WARN または TIP バッジと行番号とともに表示
Dockerfile フォーマッター の使い方
- 入力欄に Dockerfile を貼り付けます。
- Formatted Dockerfile 欄で、整形され命令が大文字化された出力を確認します。
- 出力の下にあるベストプラクティスチェックで WARN と TIP の提案を確認します。
- 必要な修正を適用し、結果を Dockerfile としてコピーまたはダウンロードします。
例
入力
from node:latest
run apt-get update && apt-get install curl
copy . .
cmd ["node","app.js"]
出力
FROM node:latest
RUN apt-get update && apt-get install curl
COPY . .
CMD ["node","app.js"]
命令が大文字化され整えられます。チェックパネルは node タグの固定、--no-install-recommends の追加、非 root の USER 設定を引き続き警告します。
よくあるエラーとトラブルシューティング
- 出力が入力と同じに見える。 — フォーマッターは大文字化・空白・空行のみを正規化します。命令がすでに大文字できれいなら変えるものはありません。代わりにベストプラクティスパネルの提案を確認してください。
- URL のダウンロードやアーカイブの展開なのにリントが ADD を指摘する。 — COPY 推奨の警告は、http(s) URL の ADD と .tar/.gz/.tgz/.bz2/.xz/.zip アーカイブではスキップされます。プレーンなローカルファイルでは COPY に切り替えると警告が消えます。
- 非 root ユーザーに切り替えたのに USER 警告が出る。 — チェックはファイルのどこかに USER 命令があるかを探します。行が USER キーワードで始まり、コメントアウトされていないことを確認してください。
- 行継続や通常と異なる行がそのまま残る。 — バックスラッシュの行継続など、認識されない命令の行は、複数行の RUN コマンドを壊さないよう意図的にそのまま保持されます。
よくある質問
- ArrayKit の Dockerfile フォーマッターは何を変更しますか?
- 各命令キーワードを大文字化し、末尾の空白を削り、複数の空行を 1 つにまとめるブラウザ内の dockerfile フォーマッターです。コマンドを書き換えたり並べ替えたりしないので、ビルドのロジックはそのまま保たれます。
- このツールで Dockerfile をベストプラクティスに照らしてリントするには?
- Dockerfile を貼り付けるだけです。整形とともに、固定されていないベースタグ、ADD と COPY、apt-get フラグとキャッシュのクリーンアップ、sudo の使用、RUN 内の cd、結合できる RUN レイヤー、root 実行のチェックを実行し、WARN と TIP の提案を行番号付きで表示します。
- Dockerfile フォーマッターはなぜベースイメージのタグ固定を警告するのですか?
- :latest やタグなしを使うと、ベースイメージが更新されたときにビルドが予期せず変わることがあります。node:20-alpine のように特定のタグを固定すると、ビルドを再現可能にできます。
- 整形した Dockerfile をダウンロードできますか?
- はい。整形出力欄から直接、出力をコピーするか、プレーンな Dockerfile としてダウンロードできます。
- このフォーマッターを使うと Dockerfile はどこかにアップロードされますか?
- いいえ。Dockerfile フォーマッターはすべてブラウザ内で動作し、貼り付けたファイルはローカルで処理されるため、データが端末から外に出ることも、サーバーに送られることもありません。
関連ツール
すべての ArrayKit ツール