Docker Composeバリデーター
Docker Compose YAMLファイルのバリデーションとリント。サービス定義、ネットワーク、ボリューム、一般的な設定エラーをチェックします。
このツールについて
Docker Composeバリデーターは、docker-compose.yml ファイルの構文エラー、構造的な問題、一般的な設定ミスを分析する無料のブラウザベースのツールです。docker compose up を実行する前に問題を検出し、時間を節約してフラストレーションの原因となるデプロイ失敗を防ぎます。
Docker Composeは、マルチコンテナDockerアプリケーションの定義と実行のための標準ツールです。1つのYAMLファイルで、すべてのサービス、イメージ、ポートマッピング、ボリュームマウント、環境変数、ネットワーク設定、サービス間の依存関係を記述します。この設定を正確に行うことは非常に重要です。ポートマッピングのタイプミス、depends_on での存在しないサービスへの参照、ネットワーク定義の欠落などがあると、スタック全体が起動に失敗します。
このバリデーターは包括的なチェックを実行します。YAML構文のバリデーション、サービス構造の検証(各サービスに image または build ディレクティブが必要)、ポートマッピングのバリデーション(1-65535の有効範囲の数値確認)、ボリュームマウント構文のチェック、環境変数の形式バリデーション、depends_on 参照の検証(参照されるサービスがすべて存在する必要あり)、ネットワーク参照のバリデーション、再起動ポリシーのバリデーション、サービス間の循環依存の検出を行います。
すべての処理はクライアントサイドのJavaScriptと js-yaml ライブラリによるYAML解析を使用して、ブラウザ内で完全に実行されます。Docker Composeファイルの内容が端末から外に出ることはありません。サーバーへの通信、ログ記録、入力データへのサードパーティ分析は一切ありません。そのため、内部レジストリURL、プライベートサービス名、機密性の高い環境変数設定を含むComposeファイルのバリデーションにも安全にご利用いただけます。
各問題は重大度レベル(エラー、警告、情報)、おおよその行番号、問題点の明確な説明と修正方法の提案とともに報告されます。自動バリデーション機能は入力中に即座にフィードバックを提供するため、すべての問題が解決されるまでComposeファイルの反復的な改善が容易です。
使い方
- 左側の入力パネルに
docker-compose.ymlの内容を貼り付けるか、サンプルボタンをクリックして意図的な問題を含むサンプルファイルを読み込みます。 - バリデーションボタンをクリックするか、Ctrl+Enter を押してファイルを分析します。
- 必要に応じて自動バリデーションを有効にすると、入力や編集中に即座にフィードバックを得られます。
- サービス数、ネットワーク数、ボリューム数、検出された問題の総数を示すサマリーバーを確認します。
- 結果パネルの各問題を確認します。入力内の行番号は問題のある行が赤色でハイライトされ、問題の場所を簡単に特定できます。
- コピーをクリックするか Ctrl+Shift+C を押して、すべての結果をクリップボードにコピーし共有やドキュメント化に利用します。
よくある質問
データは安全ですか?
はい。すべての解析とバリデーションはJavaScriptとjs-yamlライブラリを使用して、ブラウザ内で完全にクライアントサイドで実行されます。データがサーバーに送信されることは一切ありません。ブラウザの開発者ツールのネットワークタブで確認できます。
このバリデーターは何をチェックしますか?
バリデーターはYAML構文、必須の'services'キーの存在と構造、サービスプロパティ(image/build要件、ポート形式、ボリューム形式、環境変数、depends_on参照、ネットワーク参照、再起動ポリシー)、ポートマッピングの有効性(1-65535範囲の数値)、ボリュームマウント構文、サービス間の循環依存、非推奨のversionフィールドをチェックします。
エラー、警告、情報の重大度の違いは何ですか?
エラーはDocker Composeがファイルを実行できなくなる可能性の高い問題(servicesキーの欠落、無効なポート番号、未定義サービスへの参照など)を示します。警告は名前付きボリュームの未定義や値のない環境変数などの潜在的な問題を示します。情報はversionフィールドが現在は不要であるなどの提案事項です。
versionフィールドについて警告が出るのはなぜですか?
Docker Compose v2(最新のGo実装)はCompose Specificationを使用しており、versionフィールドは不要です。versionキーはDocker Compose v2以降では無視され、後方互換性のためだけに保持されています。削除するとファイルが簡潔になります。バージョン2.xを使用している場合、ツールは古いことを警告しアップグレードを提案します。
Docker Compose v2とv3の構文に対応していますか?
はい。バリデーターはDocker Compose v2とv3のファイル形式、および最新のCompose Specification(versionフィールドなし)をサポートしています。すべてのバージョンに共通する構造(サービス、ネットワーク、ボリュームおよびそのプロパティ)をバリデーションします。
循環依存を検出できますか?
はい。バリデーターはすべてのdepends_on宣言から依存関係グラフを構築し、深さ優先探索を使用して循環参照を検出します。サービスAがBに依存し、BがAに(直接的または推移的に)依存している場合、完全な依存サイクルが報告されます。
docker compose configの実行との違いは何ですか?
'docker compose config'コマンドはDockerがインストールされている必要があり、マシン上で実行されます。本ツールはインストール不要でブラウザ内で完全に動作します。変更をコミットする前のクイックバリデーション、コードレビューでのComposeファイルの確認、正しい構文の学習に最適です。Dockerエンジンに対する完全なバリデーションには、ローカルでdocker compose configを使用してください。
関連ツール
Dockerfileリンター
ベストプラクティスに基づいてDockerfileをリントし検証します。イメージビルド前に問題を検出。
YAMLフォーマッター
カスタマイズ可能なインデントと構文エラー表示でYAMLの整形、検証、圧縮を行います。
YAML ↔ ENV変換
YAMLと.envファイル形式を変換します。ネストされたYAMLキーを環境変数名にフラット化。
Nginx設定生成
リバースプロキシ、SSL、静的ファイル、リダイレクトをGUIで設定してNginxサーバーブロックを生成します。
Docker Runコマンドビルダー
ポート、ボリューム、環境変数を視覚的に設定してdocker runコマンドとdocker-compose.ymlを生成します。
Helm Valuesバリデーター
Helm values.yamlファイルを一般的なパターンとベストプラクティスに基づいて検証。型チェック、オーバーライド比較、値のツリー表示。
Makefileジェネレーター
ターゲット、依存関係、変数、テンプレートを使ってMakefileをビジュアルに生成。C、Go、Node.js、Python、Dockerプロジェクトに対応。
GitLab CI設定ジェネレーター
.gitlab-ci.ymlパイプライン設定をビジュアルに構築します。ステージ、ジョブ、アーティファクト、キャッシュ、ルールを定義。
ログフォーマットパーサー
Apache、Nginx、JSON、syslog、Docker、Kubernetesフォーマットのサーバーログを解析、カラーコーディング、重要度フィルタリング、統計分析。