メインコンテンツまでスキップ

🌟 Dockerの基本:全60章アウトライン(必修コア)

  • Windows前提🪟(Docker Desktop+WSL2想定)

  • VS Code前提🧑‍💻

  • Node/TypeScriptは初級〜中級(Dockerは初めて)🐣

  • AI支援(GitHub Copilot / OpenAI Codex 等)導入済み🤖✨

  • 1つのミニ題材(Todo API)をずーっと育てていく🌱📦

    • 「API(Node/TS)+DB(後半でCompose)」までいけたら勝ち🏆

第1部:コンテナとイメージの基本運用📦🚀

まずは「動かす/止める/消す/中を見る」を一気に!ここが“自力で直せる”の入口💪😄

第01章:Dockerってなに?コンテナとイメージの感覚をつかむ🐳✨

  • ゴール:箱(コンテナ)と設計図(イメージ)の違いを言える🙂
  • ハンズオン:Docker Desktop起動→最初のコンテナを動かす🚀
  • AI活用:用語の説明を「中学生にもわかる言い方」で作らせる🧠📘

第02章:Windowsでの準備(Docker Desktop / WSL2 / VS Code連携)🪟🔧🐳

  • ゴール:Windows環境でつまずきやすい所を先に潰す👌
  • ハンズオン:WSL2確認、Dockerの動作確認、VS Codeからターミナル操作🧑‍💻
  • AI活用:エラー文を貼って「原因候補トップ3」を出させる🤖🔍

第03章:runで“とにかく動かす”体験(Helloコンテナ)🎉

  • ゴール:コンテナ起動の基本がわかる😊
  • ハンズオン:サンプルイメージを run、終了を確認✅
  • AI活用:「run時によく付けるオプション表」を作らせる📝✨

第04章:止める・消す(stop / rm)で後片付けマスター🧹

  • ゴール:増えたコンテナを整理できる🧼
  • ハンズオン:stop→rm、一覧で確認📋
  • AI活用:「片付け手順チェックリスト」を作らせる✅🤖

第05章:イメージの一覧と掃除(images / rmi)🧽🗑️

  • ゴール:イメージが溜まる理由がわかる🙂
  • ハンズオン:images確認→不要イメージ削除
  • AI活用:「消して良い/ダメ」判断軸を会話形式で作る🧑‍🏫🤖

第06章:ログを見る(logs)=トラブル対応の第一歩🪵👀✨

  • ゴール:困ったらまずログ!が身につく💡
  • ハンズオン:ログ確認、追尾、見どころ(起動/例外)を知る
  • AI活用:ログを貼って「次に見るべき場所」を聞く🔍🤖

第07章:中に入る(exec / shell)“箱の中を覗く”🕵️‍♂️🐳✨

  • ゴール:コンテナ内で確認できるようになる🔦
  • ハンズオン:シェルで入る→ファイル/プロセス確認
  • AI活用:確認コマンドのテンプレを作らせる📌🤖

第08章:環境変数(env)で設定を切り替える🎚️🐳

  • ゴール:設定をコードに直書きしない感覚を持つ🙂
  • ハンズオン:envで挙動が変わる簡単サンプル
  • AI活用:env設計の「ありがち失敗」を先に聞く😅🤖

第09章:よく使うコマンド“最短セット”を覚える🧠⚡(build/run/stop/rm/logs/exec)

  • ゴール:最低限の運用がスラスラできる🏃‍♂️
  • ハンズオン:build/run/stop/rm/logs/exec を一周🔁
  • AI活用:自分用チートシートを作らせる📄✨

第10章:ミニまとめ:1人で「動かして直して片付け」できる🎓🎉

  • ゴール:この10章の総合チェック✅
  • ハンズオン:起動→ログ→中確認→停止→削除(全部やる)
  • AI活用:弱点診断(“どこが怖い?”)をAIに聞く😌🤖

第2部:ファイル共有(マウント)と永続化(ボリューム)の基本📁🔁

個人開発の詰まりポイントNo.1🔥 ここがわかると一気に楽になるよ😊✨

第11章:なぜファイル共有が必要?(コードはホスト、実行はコンテナ)🧩

  • ゴール:役割分担のイメージがつく🙂
  • ハンズオン:ホストのファイルをコンテナから読む
  • AI活用:図解(文章でOK)を作らせる🗺️🤖

第12章:マウントの基本(ホスト↔コンテナ)を体験📎

  • ゴール:マウントで“即反映”できる感覚を掴む⚡
  • ハンズオン:ホストで編集→コンテナ側で確認
  • AI活用:Windowsパス注意点まとめを作る🪟📌🤖

第13章:Windowsでハマりがちな点(改行/パス/権限)🪤😵

  • ゴール:ありがちな事故を回避できる🙂
  • ハンズオン:改行や文字化けなど“現場あるある”を再現→回避
  • AI活用:トラブル症状から原因推定表を作る🧠🤖

第14章:bind mount と volume の違い(使い分け判断)⚖️

  • ゴール:「どっち使う?」を説明できる😊
  • ハンズオン:同じデータをbind/volumeで試す
  • AI活用:判断フローチャートを作らせる🌳🤖

第15章:node_modules問題(どこに置く?)📦😮

  • ゴール:依存関係の置き場所で詰まらない🙂
  • ハンズオン:ホスト側/コンテナ側での違いを体験
  • AI活用:自分の構成に合う「おすすめ方針」を質問する🤖💬

第16章:ボリューム作成・一覧・削除(基本運用)🧰

  • ゴール:ボリュームを管理できる🧹
  • ハンズオン:作る→使う→一覧→消す
  • AI活用:安全な削除手順をチェックしてもらう✅🤖

第17章:DBデータはどう守る?(永続化の考え方)🛡️

  • ゴール:「消えて困る/困らない」を仕分けできる🙂
  • ハンズオン:DBっぽいデータを永続化して確認
  • AI活用:データ分類のテンプレを作らせる📋🤖

第18章:初期データ(seed)と“開発データの作り直し”🌱

  • ゴール:開発を速く回す考え方がわかる⚡
  • ハンズオン:初期投入→壊す→戻す(気軽に)
  • AI活用:seedの設計をレビューしてもらう👀🤖

第19章:バックアップ/リストア超入門(最小でOK)💾

  • ゴール:最低限の“保険”を持つ🙂
  • ハンズオン:バックアップ→消す→戻す
  • AI活用:手順を自分用に短縮してもらう✂️🤖

第20章:ミニまとめ:個人開発の“データ運用ルール”を作る📜✨

  • ゴール:自分のルールが1枚で書ける📝
  • ハンズオン:消してOK/NG、戻し方、seed方針を決める
  • AI活用:ルールを読みやすく整形してもらう🤖🧼

第3部:ネットワークの超基本(ポート公開とサービス間通信)🌐🔌

「localhost:3000が見えない😵」を卒業する章たち!

第21章:ポートって何?(入口の番号の話)🚪🔢

  • ゴール:ポートのイメージが持てる🙂
  • ハンズオン:簡単サーバを動かしてアクセス
  • AI活用:例え話を作らせる(マンションの部屋番号とか)🏢🤖

第22章:ポート公開(ホスト→コンテナ)で見える化👀🔌

  • ゴール:ブラウザからアクセスできるようになる🌟
  • ハンズオン:ポート公開してアクセス確認
  • AI活用:公開設定のチェック項目を作る✅🤖

第23章:よくある失敗(ポート被り/起動してない/Firewall)🔥🚪🪟

  • ゴール:症状から当たりをつけられる🙂
  • ハンズオン:わざと被らせる→直す
  • AI活用:エラー文の翻訳&要約をしてもらう🧾🤖

第24章:コンテナ内のlocalhost罠(自分自身を指す)🪤😵‍💫

  • ゴール:混乱ポイントを突破できる💪
  • ハンズオン:コンテナ内でのアクセス先を確認
  • AI活用:図で説明してもらう(文章でもOK)🗺️🤖

第25章:サービス間通信の基本(同じネットワークで話す)🗣️🌐✨

  • ゴール:コンテナ同士が繋がるイメージがつく🙂
  • ハンズオン:2つのコンテナで疎通確認
  • AI活用:接続先の命名ルールを相談🤖💬

第26章:名前解決(“サービス名で繋ぐ”の第一歩)🏷️

  • ゴール:IP直書きしない感覚を持つ🙂
  • ハンズオン:名前で接続して動作確認
  • AI活用:環境変数と合わせた設計を聞く🤖🧠

第27章:DBに繋ぐ前の準備(接続文字列の考え方)🧵

  • ゴール:接続設定で迷わない🙂
  • ハンズオン:接続情報を環境変数化
  • AI活用:接続文字列のテンプレを作らせる📝🤖

第28章:疎通がダメな時の基本チェック(3点セット)🔍

  • ゴール:調査の順番が身につく✅
  • ハンズオン:わざと失敗→原因切り分け
  • AI活用:チェックリストを作ってもらう✅🤖

第29章:小さな設計:ポート設計のルールを決める📏

  • ゴール:複数PJでも混乱しにくい🙂
  • ハンズオン:自分用のポート表を作る
  • AI活用:衝突しにくい割り当て案を出させる🤖🧩

第30章:ミニまとめ:Web/API開発で毎回使うネットワーク筋トレ🏋️‍♂️

  • ゴール:公開・接続・切り分けが一通りできる😊
  • ハンズオン:API+DB接続“手前”まで通す
  • AI活用:自分の弱点箇所をAIに診断してもらう🩺🤖

第4部:Composeの基礎(複数サービスを一発起動)🧩🚀

個人開発の最大メリット来たー!🎉「一発起動」は正義😆✨

第31章:Composeって何?(なぜ便利?)📦📦📦

  • ゴール:Composeの目的が説明できる🙂
  • ハンズオン:compose up で複数起動を体験
  • AI活用:compose.ymlの雛形を作らせる🤖📝

第32章:compose.ymlを読む練習(最低限の項目)👀

  • ゴール:怖がらず読めるようになる😊
  • ハンズオン:services/ports/volumes を読む
  • AI活用:コメント付きで説明させる✍️🤖

第33章:サービスを2つに増やす(API+DB)🧠

  • ゴール:APIとDBを同時起動できる🙂
  • ハンズオン:Node/TS API+DB(開発用)
  • AI活用:DB初期設定の“よくある罠”を先に聞く🪤🤖

第34章:環境変数をcompose側で管理する🎛️

  • ゴール:設定をまとめて管理できる🙂
  • ハンズオン:env設定で接続先を切り替える
  • AI活用:envの命名ルール案を出させる🏷️🤖

第35章:ボリュームをComposeで定義する🧱

  • ゴール:DBデータを守る設定ができる🙂
  • ハンズオン:volume設定→再起動しても残る確認
  • AI活用:安全な削除/初期化手順を作らせる🧹🤖

第36章:ログをまとめて見る(複数サービス運用のコツ)🪵📚

  • ゴール:全体の状態を把握できる🙂
  • ハンズオン:APIとDBのログを見比べる
  • AI活用:ログの注目ポイントを短く要約させる🤖✂️

第37章:依存関係(起動順)をざっくり扱う⏳

  • ゴール:「順番問題」を意識できる🙂
  • ハンズオン:DB待ち問題を体験→回避の考え方
  • AI活用:待ち戦略の候補(軽いやつ)を出させる🤖🧠

第38章:開発コマンドを一発化(npm scriptsと併用)🎮

  • ゴール:開発の“儀式”を短くできる🙂
  • ハンズオン:起動/停止/ログ/初期化をコマンド化
  • AI活用:READMEの手順をAIに整形させる📘🤖

第39章:Compose運用ルール(チームでも自分でも迷わない)📏

  • ゴール:運用ルールが言語化できる🙂
  • ハンズオン:ルール1枚(起動手順/データ扱い/ポート)作成
  • AI活用:読みやすい文章に直してもらう✨🤖

第40章:ミニまとめ:Composeで“開発スタック一発起動”完成🏁🎉

  • ゴール:ここが第一到達点!便利を体感して定着😆
  • ハンズオン:API+DB+(余裕あればRedis)を一発起動
  • AI活用:テンプレ化(次のPJでコピペできる形)を相談🤖📦

第5部:Dockerfileの最低限(初心者が書ける範囲)🧾🔥

「とりあえず動いた」から卒業🎓✨ “書ける”ようになるのが目的だよ😊

第41章:Dockerfileって何?(イメージのレシピ)🍳

  • ゴール:Dockerfileの役割がわかる🙂
  • ハンズオン:最小Dockerfileを眺める
  • AI活用:各行の意味を1行ずつ説明させる🤖📘

第42章:FROM(ベース選びの考え方)🏗️

  • ゴール:ベースイメージ選びの感覚を持つ🙂
  • ハンズオン:Node向けのベースで試す
  • AI活用:軽量/互換性の違いを簡単比較させる⚖️🤖

第43章:WORKDIR(迷子防止)🧭

  • ゴール:作業場所が統一できる🙂
  • ハンズオン:WORKDIRあり/なしの差を体験
  • AI活用:おすすめディレクトリ構成を提案させる📁🤖

第44章:COPY(必要な物だけ持っていく)📦

  • ゴール:コピー範囲の考え方がわかる🙂
  • ハンズオン:余計なファイルを入れて痛い目→改善
  • AI活用:.dockerignore候補を出させる🧹🤖

第45章:RUN(依存インストールの基本)📥

  • ゴール:依存インストールができる🙂
  • ハンズオン:依存を入れて動作確認
  • AI活用:よくある失敗(キャッシュ/権限)を先に聞く🪤🤖

第46章:CMD(起動コマンド)▶️

  • ゴール:コンテナ起動時に何が走るかわかる🙂
  • ハンズオン:CMDを変えて挙動確認
  • AI活用:起動コマンド案を複数出させる🤖🧪

第47章:開発用と本番用は別物(まずは区別だけ)🎭

  • ゴール:「同じにしない」理由がわかる🙂
  • ハンズオン:開発用(ホットリロード)と本番用(ビルド済)を比較
  • AI活用:分ける時の最小ルールを作らせる📏🤖

第48章:ビルド(build)とタグ運用(名前の付け方)🏷️

  • ゴール:イメージを管理できる🙂
  • ハンズオン:タグ付け→一覧→切り替え
  • AI活用:タグ命名ルールを提案させる🤖🧩

第49章:サイズと速度の超入門(重いを避ける第一歩)🐢➡️🐇

  • ゴール:重くなる原因を知る🙂
  • ハンズオン:不要ファイル削減、順番工夫を体験
  • AI活用:改善案をAIに出させて比較する🧠✨

第50章:ミニまとめ:自分のNode/TSをDockerfileで動かす🏁

  • ゴール:Dockerfile最小セットが書ける😊
  • ハンズオン:APIをDockerfileで起動→ログ確認→停止
  • AI活用:Dockerfileレビュー(危険/無駄/改善)を頼む👀🤖

第6部:デバッグ作法(最短セット)🧯🕵️

ここがないと「使えない→使わない」になりがち😢 逆にここまで行くと、もう怖くない💪😄✨

第51章:デバッグの基本姿勢(まず落ち着く😌)🧘

  • ゴール:調査の順番がわかる🙂
  • ハンズオン:わざと失敗させて観察
  • AI活用:症状→原因候補→確認手順を出させる🤖🧠

第52章:ログ(logs)で“何が起きたか”を見る🪵

  • ゴール:ログから次の一手を決められる🙂
  • ハンズオン:例外ログ→原因箇所を特定
  • AI活用:ログ要約&次の確認ポイントを聞く🤖🔍

第53章:終了コードと再起動ループの読み方🔁😵

  • ゴール:落ち方のパターンを知る🙂
  • ハンズオン:すぐ落ちるコンテナを解析
  • AI活用:終了コードの意味を“短く”説明させる✂️🤖

第54章:コンテナ内確認(exec)で現場検証🔦

  • ゴール:中で何が起きてるか見られる🙂
  • ハンズオン:ファイル/環境変数/プロセス確認
  • AI活用:確認コマンドセットを作らせる🧰🤖

第55章:ポート系トラブル(見えない/繋がらない)🚪❌

  • ゴール:ネットワーク切り分けができる🙂
  • ハンズオン:ポート違い/被りを直す
  • AI活用:チェック順を固定化(テンプレ化)する✅🤖

第56章:依存関係トラブル(モジュールが無い/バージョン違い)📦💥

  • ゴール:依存事故の基本パターンを知る🙂
  • ハンズオン:わざと壊して直す(再現が大事)
  • AI活用:依存事故の“再発防止策”を提案させる🤖🛡️

第57章:権限トラブル(読めない/書けない)🔒😣

  • ゴール:権限系の匂いを嗅ぎ分けられる🙂
  • ハンズオン:マウント先で書けない→原因確認→対処
  • AI活用:安全寄りの解決策(雑にrootにしない)を聞く🤖⚖️

第58章:Composeデバッグ(複数サービスでの見方)🧩🔍

  • ゴール:どのサービスが原因か切り分けできる🙂
  • ハンズオン:DB接続不良を追う(API/DB/設定)
  • AI活用:原因候補の優先順位を出させる🥇🤖

第59章:よくある“詰まり”総復習(チェックリスト化)📋✨

  • ゴール:困った時に戻れる道しるべができる🙂
  • ハンズオン:10個くらいのミスを直していく
  • AI活用:自分の弱い領域をAIに分類してもらう🩺🤖

第60章:最終まとめ:自力で直せる人になる🏆🎉

  • ゴール:Docker初心者卒業!🎓
  • ハンズオン:API+DBを一発起動→問題を1つ仕込んで自力修正
  • AI活用:最終レビュー(テンプレ化/改善点/次に学ぶ順)を頼む🤖🚀