第01章:Composeって何が嬉しいの?🧠💡
この章は「Composeって結局なに? なんで皆が使うの?」を、**“体感で腑に落ちる”**ところまで持っていく回です😆✨ (細かい書き方は次章からでOK!まずは嬉しさを掴むのが勝ち🏆)
1) そもそもComposeって何?🐳📦
Docker Composeは、ひとことで言うと 「複数コンテナ(複数サービス)をまとめて動かすための道具」 です🔧✨
しかも、YAML(compose.yaml)に“構成”を書いておくことで、毎回同じ形で再現できます🎯
公式も「複数コンテナアプリを定義して動かすツール」だよ、とハッキリ言ってます。(Docker Documentation)
2) “アプリ+DB+キャッシュ”が普通に必要になる理由🧩🗄️⚡
個人開発でも、ちょっと真面目に作るとこうなりがち👇
- APIサーバー(Node/TypeScript)🧑💻
- DB(Postgres)🐘
- キャッシュ/セッション/キューの土台(Redis)🟥
- 時間のかかる処理を担当するWorker(キュー)👷
で、ここで地獄が始まります😇 「DB起動して…Redis起動して…環境変数合わせて…ポート被って…」みたいなやつ。
Composeの嬉しさは、この“開発あるある地獄”をまとめて消せること🔥
3) Composeの“嬉しいポイント”を先に全部言う💥✨
✅ 嬉しさ①:**1コマンドで“全部起動/全部停止”**できる🚀
- 起動、停止、再起動、ログ確認、状態確認が一気にできる (Composeの代表機能として公式が並べてます)(Docker Documentation)
✅ 嬉しさ②:「構成」がファイルに残る=再現できる📄✨
- 「このプロジェクトはAPI+DB+Redisね」が
compose.yamlで固定される - 新しいPCでも、チームでも、未来の自分でも同じ形で起動できる🕰️
✅ 嬉しさ③:“繋がり方”も勝手に整う🕸️📡
- サービス名でつながる(後の章でやるやつ)
- 「localhost地獄」から少し解放される🌈
✅ 嬉しさ④:ランタイム固定(閉じ込め)に直結する🔒🧊
- NodeやTypeScriptの実行環境を“PCの外”に置ける
- 「俺のPCだと動く」問題を、かなり減らせる💪
4) 2026年流:compose.yaml中心&version:は気にしなくてOK🙆♂️✨
Composeファイルは、いまは Compose Specification(仕様) が推奨のベースです。(Docker Documentation)
そしてトップレベルの version: は obsolete(互換のための名残) 扱いで、書くと警告が出ることがあります📣(Docker Documentation)
なのでこの教材は compose.yaml中心で進めます✍️🐳(まさに今どき!)
5) ミニ体感:Composeは「登場人物(services)一覧」を書くだけ🎬👀
まだ第2章で読み方を丁寧にやるけど、雰囲気だけ先に🙂
Composeはまず services: に“登場人物(動かすもの)”を書きます。(Docker Documentation)
たとえば「web」と「db」だけでもこう👇(雰囲気でOK!)
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: postgres:18
environment:
POSTGRES_USER: example
POSTGRES_DB: exampledb
これ、言ってしまえば 「web役(nginx)とdb役(postgres)を同時出演させる脚本」 です🎭✨(Docker Documentation)
6) “ランタイム固定”の現実的な基準(2026-02-10時点)📌🧊
「固定」って言うと、まず気になるのが Nodeのバージョンですよね👀
- Nodeは 偶数メジャーがLTS で、実運用はLTSが基本になりやすいです🔐
- 2026-02-10時点だと、Node v24 が Active LTS、v22/v20 は Maintenance LTS、v25 は Current(最新系)になっています。(Node.js)
TypeScript側も、2026年の最新として TypeScript 5.9 のリリースノートが更新されています。(TypeScript)
この教材では、のちの章で「じゃあどのタグで固定する?」をちゃんと決めていきます🧷✨ (第1章は“固定の嬉しさ”を先に理解する回!)
7) Windowsでの肌感:WSL2バックエンドは“かなり普通”🏠🐧🪟
Docker DesktopはWindowsでもよく使われ、WSL2バックエンドを使うことで Linuxワークスペースを活かしやすいです。(Docker Documentation) この教材でも、後の章で「Windowsで詰まりがちなポイント」をちゃんと回収します🧯✨
8) AI(Copilot/Codex等)を最初から味方にするコツ🤖🧠✨
第1章から使える、超効く指示テンプレ置いときます👇(そのまま投げてOK)
- 「
compose.yamlを“学習用に最小”で。web/dbだけ。コメント多めで」📝 - 「Windowsで詰まりにくい構成(改行・パス・watchの注意も)をメモに」🪟
- 「将来、Node API + Postgres + Redis + Workerに拡張できる形に」🧩
ただし!AIが出すversion:とか古い書き方は混ざりがちなので、**“公式の仕様に寄せて直す”**のが人間の役目です😎✨(Docker Documentation)
9) 理解チェック(3問)📝✅
- Composeの役割は「( )コンテナをまとめて動かす」
- いま推奨のComposeファイルは
docker-compose.ymlより( )が優先されがち version:がobsolete扱いなのは「( )のため」
(答えは次章の冒頭でサクッと回収します😆📌)
10) 次章の予告📣✨
次は 第2章:最小のcompose.yamlを読めるようになる📄👀!
「YAML苦手」を前提に、迷わない読み方だけに絞っていきます🔥
必要なら、第1章の最後に「1分で体感する超ミニ起動(2サービス)」も追加できます😆🚀(でも第3章で“起動の儀式”をやるので、教材としてはそこでまとめてやるのがキレイ!)