【初心者向け】.envファイルってなに?—Docker開発で最初につまずいた話
文系・未経験からエンジニアになって3か月。
知らない言葉や技術が飛び交う開発現場で、
「インプットするだけじゃ覚えきれない…!」と感じる毎日です。
そこで、自分なりに調べて学んだことを
ぼうけんのしょ(=備忘録)としてまとめていくことにしました 📝
今回のテーマ:.envファイル
ローカルのDocker環境で開発を始めたとき、
最初に「???」となったのがこの .envファイル でした。
-
.envファイルって結局なに? - 環境変数って?
- なんで「.env」なの?他の名前じゃダメなの?
そんな.envファイルに関する疑問を、初心者目線でわかりやすくまとめていきます!
.envファイルとは?
-
.envファイルはざっくりいうと、環境変数を定義するためのテキストファイルです。 - 書き方はとてもシンプルで、
KEY=VALUEの形式で記述します。
DB_USER=admin
DB_PASS=secret123
API_KEY=abcdefg
- 環境ごとに設定を切り替えたいとき
- パスワードやAPIキーなど、コードに直接書きたくない秘密情報を管理したいとき
-
DockerNode.jsPythonCIツールなど、いろんな場面で使われている
とはいえ、、、それってどゆこと?(イメージ)
.envファイルは、アプリに渡す「設定メモ」 のようなものです。
たとえば配達アプリに
「届け先はどこ?誰に届ける?」と教えるために、
直接コードに書かずに .env というメモ帳に書いて渡すイメージです。
コードにベタ書きしないから、同じアプリでも環境ごとに設定を変えられる!
ここでいう「環境変数」ってなに?
環境変数とは、アプリが起動するときに参照できる設定値のこと。
例えるなら、「出発前に地図アプリに登録しておく目的地」。
アプリは実行時にその情報を見て、どう動くかを決めるというわけです。
なんで「.env」なの?
「なるほど~。だんだんわかってきた~」
……でも!なんで「.env」なの?他の名前じゃダメなの?って思いますよね。
その理由は、多くのツールが.envという名前を自動で探して読み込むから!
-
Node.jsのdotenvモジュール Docker Compose-
Laravelなどのフレームワーク
これらは特に設定しなくても、.envファイルを探してくれます。
つまり 「.envという名前にしておけば勝手に読み込んでくれる」 という超便利な仕様!
.envみたいに「名前で意味が決まる」便利ファイルたち
そういう仕組みがあるなら、他にもありそう……
はい、あります。 現場でよく見る「名前で意味が決まる」便利ファイルたちをまとめました!
| ファイル名 | 役割・内容 | 勝手にしてくれること(自動で働く動作) |
|---|---|---|
.env |
環境変数の定義ファイル。パスワードや設定値をまとめる。 | フレームワークやDockerが自動で読み込み、変数として利用できる。 |
.gitignore |
Gitで無視したいファイルやフォルダを指定するファイル。 |
git addやgit status時に無視され、コミット対象から外れる。 |
Dockerfile |
Dockerイメージを**どう作るかの手順(レシピ)**を記述するファイル。 |
docker buildで自動的に読み込まれ、イメージが構築される。 |
docker-compose.yml |
複数コンテナの構成・起動順・依存関係などを定義するファイル。 |
docker-compose upで自動的に読み込まれ、まとめて起動してくれる。 |
requirements.txt |
Pythonの必要ライブラリ一覧を記述するファイル。 |
pip install -r requirements.txtで一括インストールできる。 |
package.json |
Node.jsの依存ライブラリやスクリプト、プロジェクト情報を管理。 |
npm installで依存関係が解決され、スクリプトも実行可能。 |
README.md |
プロジェクトの説明・使い方・背景などを記述するマークダウン文書。 |
GitHubで自動的にトップページに表示され、ドキュメントとして機能。 |
.editorconfig |
エディタのインデントや改行ルールなどの設定を共有するファイル。 |
VSCodeなど対応エディタが自動で読み込み、設定を統一してくれる。 |
✅ この記事のまとめ
-
.envファイルは「環境変数」をまとめておく専用ファイル - Dockerや一部フレームワークが自動で読み込んでくれる
-
.envという名前じゃないと自動で読み込まれないことが多い - パスワードやAPIキーなど、人には見せたくない設定値を入れるのが定番
→.envは.gitignoreに追加して、Gitに上げないようにするのが基本 -
.env以外にも、「特定のツールが勝手に働いてくれる便利ファイル」はたくさんある!
今回は.envファイルについてぼうけんのしょとして備忘録をまとめました。
これから先もわからないことが山ほど出てくると思います。
そのたびにこの備忘録に書き残して、冒険を進めていきたいと思います🏃♂️💨
最後まで読んでくださりありがとうございました!