第10章:ミニまとめ:1人で「動かして直して片付け」できる🎓🎉
この章は“総合リハーサル回”です🔁✨ 起動 → 状態確認 → ログ → 中を見る → 停止 → 削除 → 掃除 を、手を動かして1周します💪🐳
0) 今日のゴール(これができたら合格✅)🏆
- コンテナを名前つきで起動できる🚀
- 困ったらまず 状態(ps)→ログ(logs)→中(exec) の順に見れる👀🧠
- 最後に止めて消して掃除まで、自分で完走できる🧹✨
1) まずは“1周コース”の地図🗺️🐾
今回の流れはこれ👇(覚えるというより、毎回これで回すのが大事!)
- バージョン確認(保険)🧾
- コンテナ起動(detach + port + name)🚀
- 状態を見る(ps / ps -a)👀
- ログを見る(tail / follow / since)🪵
- 中を見る(execで確認コマンド)🔦
- 止める(stop)⏹️
- 消す(rm / prune)🗑️
- 片付け(system pruneの意味を理解して使う)🧽
2) ハンズオン:運用“1周コース”をやる🔁🐳
2-1) バージョン確認(最初の保険🧯)
「今の自分のDocker、ちゃんと喋れる?」を確認します🙂
docker version
docker compose version
docker composeが基本形です(Compose v2はdocker composeで呼び出す形)(Docker Documentation)
2-2) コンテナ起動(名前を付けて、裏で動かす🚀)
まずは“練習用コンテナ”を立ち上げます。
ここでは例として nginx:alpine を使います(ログも見やすくて練習向き!)😄
docker run --name todo-api -d -p 3000:80 nginx:alpine
ポイント👆
--name todo-api:あとから操作しやすい✨-d:裏で動く(ターミナルが戻る)-p 3000:80:ホストの3000 → コンテナの80へ繋ぐ🔌
2-3) 状態を見る(ps / ps -a)👀📋
今動いてる?落ちてる?を最速で判断🔥
docker ps
docker ps -a
docker ps は“動いてるやつだけ”、止まってるのも見たいなら -a です🙂(Docker Documentation)
2-4) ログを見る(logsが主役🪵👑)
「困ったら logs」 を身体に叩き込みます😤✨
まずは直近だけサクッと👇
docker logs --tail 50 todo-api
リアルタイム追跡(Ctrl+Cで停止)👇
docker logs -f --tail 50 todo-api
「直近5分だけ見たい」みたいなのもできます👇
docker logs --since 5m --tail 200 todo-api
--since は「指定以降のログだけ」にできて、--follow や --tail と組み合わせOKです🙂(Docker Documentation)
2-5) 中を見る(execで“現場検証”🔦)
コンテナの中で「本当にそうなってる?」を確かめます🕵️♂️✨
docker exec -it todo-api sh
入れたら、最低限これだけ見れれば強い💪
## (コンテナの中)
uname -a
ls -la
ps aux | head
docker exec は「動いてるコンテナの中でコマンドを実行」できます。-it が対話モードの定番です🙂(Docker Documentation)
もし “中がスリムすぎてツールが無い!” みたいな時は、最近は
docker debugという選択肢もあります(おまけ知識)🧰✨(Docker Documentation)
2-6) 止める(stop)⏹️
止める=いきなりブチ切りじゃなくて、基本は「終了お願いね」から入ります🙂
docker stop todo-api
内部プロセスにまず SIGTERM、猶予後に SIGKILL という流れです(猶予は --timeout で調整可能)(Docker Documentation)
2-7) 消す(rm / prune)🗑️
止まったら消せます!
docker rm todo-api
「止まってるコンテナが溜まってきた〜😵」なら、まとめて掃除👇
docker container prune
docker container prune は“停止済みコンテナを一括削除”です🙂(Docker Documentation)
2-8) 片付け(system pruneの意味を理解して使う🧽)
最後に“散らかったもの”を掃除します🧹✨
docker system prune
これで主に「停止済みコンテナ、使われてないネットワーク、ぶら下がりイメージ、ビルドキャッシュ」などが対象になります⚠️(Docker Documentation) そして大事ポイント👇
- ボリュームはデフォルトでは消えません(消すには
--volumesが必要)(Docker Documentation)
3) “困った時の3手”テンプレ🧯📌
トラブルが起きたら、だいたいこれで7割勝てます😤✨
- 動いてる?
docker ps
docker ps -a
- 何が起きた?(ログ)
docker logs --tail 200 <name>
docker logs -f --tail 50 <name>
docker logs --since 5m --tail 200 <name>
- 中で何が見える?(exec)
docker exec -it <name> sh
4) 卒業チェック(セルフ採点✅)🎓
できたらチェック入れてね😆✨
-
docker run --name ... -d -p ...が迷わず打てた🚀 -
docker psとdocker ps -aの違いを説明できた👀 -
docker logs --tailと-fと--sinceを使い分けできた🪵 -
docker exec -it ... shで中に入ってls/psを見れた🔦 -
docker stop→docker rmまで自分で完走できた⏹️🗑️ -
docker system pruneが“何を消すか”を理解して使えた🧽
5) AI活用:弱点診断プロンプト集🤖💬
「自分のどこが不安か」をAIに言語化させると、伸びが爆速になります⚡😆
プロンプト例(コピペOK)👇
次のDocker操作ログ(コマンドと出力)を貼るので、
1) いま起きていることを一言で
2) 次に確認すべき順番(最大5手)
3) やってはいけない危険操作
を短く教えて。初心者向けにお願いします。
docker ps / docker ps -a の出力を貼るので、
「この状態だと次に何をすべきか」を3パターン(正常/異常/片付け)で提案して。
docker logs を貼るので、
“重要そうな行トップ5”と“そこから考えられる原因候補トップ3”を出して。
(TypeScript/NodeのAPI想定でOK)
6) 余裕があったら(おまけ筋トレ🏋️♂️✨)
-
動いてるコンテナの負荷を見る(重い/固まるの入口チェック)
docker statsdocker statsはリソース使用量をストリーム表示できます🙂(Docker Documentation) -
Composeに入る前の予告:今後は
docker compose logsみたいに“まとめて見る”世界に入っていきます📦📦📦docker compose logsにも--since/--tail/--followがあります🙂(Docker Documentation)
ここまでできたら、もう「Docker触るの怖い😵」は卒業です🎉🐳 次の第11章からは、開発で一気に楽になる**ファイル共有(マウント)**に突入します📁⚡