環境構築が苦手・でもWeb大好き人間がDockerの中身を理解してみた話
この記事について この記事では、Laravel開発をDockerでやってみた私が、「そもそもDockerって何?」「なぜこれをやるの?」を自分なりに整理してみた記録です✍️ 環境構築が苦手でも、Web開発は大好き!という方に向けて、「イメージ?ボリューム?なにそれ美味しいの?」状態からのスタートを優しくまとめました。 🍱 Dockerってなに?をざっくり言うと… Dockerとは、「自分だけの仮想の環境を用意して、ソフトを動かす」仕組み! いろんなソフトを動かすと、環境がごちゃごちゃしがち…。でもDockerを使えば、隔離された環境(=コンテナ)を用意して、スッキリ・再現性高く開発できるんです! 🧠 出てくる用語がややこしいので整理! 🧊 イメージとは? 🍱 コンテナとは? 💾 ボリュームとは? それぞれの関係性は? コンテナ・イメージ・ボリュームが一体結局何やっているのかよくわからない。わかりにくいので教室に例えるとこんな感じ。 要素 教室に例えると… なにしてるの? 📘 イメージ 教科書セット(国語・英語など) 必要な知識・ツールのかたまり(=設計図) 🪑 コンテナ 机 実際に作業する場所(=実行中の環境) 📒 ボリューム ノート(開かれた) 記録・データ保存(=永続化) 🧩 どうやって使い分けるの? 用語 一言で言うと 消える? 役割 イメージ 設計図・冷凍弁当 ❌ コンテナを作る元 コンテナ 実行中の環境 ✅(削除時) アプリケーションが動く場所 ボリューム データ保存倉庫 ❌ DBやファイルの永続化に使う 🖋 なぜ .yml ファイルを書くのか? それはDockerに「このコンテナたちをどう構成して動かすか」を伝えるため! このように、Laravelのソースコード、PHPの環境、Nginxの連携方法などを1つのファイルで管理できます✨ 実は、docker compose up で一発起動できるのもこのファイルのおかげ✨どのコンテナを使うか、どうつなぐか、どんな設定で起動するか…全部 docker-compose.yml に書いてあるから、「設計図さえあれば、誰でも同じ環境を即座に再現できる」というわけなんです! 🧠 GUIでLaravel動かせるのになんでわざわざ? 便利なGUIツール(Laravel Herdなど)もあるけど… だからこそDockerfileやdocker-compose.ymlを自分で書くと「ちゃんと理解した開発」ができる!のです🔥 🧁 おまけ:今後やりたいこと









