Skip to main content

第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問)📝✅

  1. Composeの役割は「(  )コンテナをまとめて動かす」
  2. いま推奨のComposeファイルは docker-compose.yml より (  ) が優先されがち
  3. version: がobsolete扱いなのは「(  )のため」

(答えは次章の冒頭でサクッと回収します😆📌)


10) 次章の予告📣✨

次は 第2章:最小のcompose.yamlを読めるようになる📄👀! 「YAML苦手」を前提に、迷わない読み方だけに絞っていきます🔥


必要なら、第1章の最後に「1分で体感する超ミニ起動(2サービス)」も追加できます😆🚀(でも第3章で“起動の儀式”をやるので、教材としてはそこでまとめてやるのがキレイ!)