🌟 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活用:最終レビュー(テンプレ化/改善点/次に学ぶ順)を頼む🤖🚀