仕様と根拠
.env の読み方
Docker Compose の .env は、KEY=VALUE(または KEY:VALUE)の行です。# で始まる行と空行は無視し、値の前後の空白も無視します。引用符のない値の行内コメントは「空白と #」から始まり、VAL#text のように空白のない # は値の一部です。単一引用符の値はそのまま(複数行も可)、二重引用符の値は \n \r \t \\ を変換します。
比べ方
2 つの .env を読み取って、同じキーを突き合わせます。両方にあって値が同じなら「同じ」、値が違えば「値が違う」、片方にしかなければ A のみ・B のみです。引用符の種類が違っても、読み取った値が同じなら同じです。変数の展開(${VAR})は行わず、書かれた文字列のまま比べます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| Docker Docs: Interpolation(.env ファイルの構文) | 2026年10月29日 | KEY=VAL / KEY:VAL・# コメント・行内コメントは空白+#・単一引用符はそのまま・二重引用符は \n \r \t \\ を変換・複数行は単一引用符。export の記載なし。WebFetch で確認 |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- export で始まる行は、Docker Compose の仕様ページに記載がないため読み取りません(警告で知らせます)。
- 変数の展開(${VAR} や ${VAR:-既定値})は行いません。展開後の値が同じかは判断できません。
- 同じキーが 1 つのファイルに複数あるときの優先は仕様ページに記載がないため、あとの行の値で比べて警告します。
ご利用にあたって
- 本物のパスワードやトークンを含む .env を貼り付けるときは、値の表示を伏せ字にしたままにしてください。
- この道具は送信しませんが、共有画面やスクリーンショットには注意してください。