第04章:止める・消す(stop / rm)で後片付けマスター🧹
この章は「増えたコンテナを、迷わず片付けられる人」になる回です😆 Dockerは触ってるとコンテナがどんどん増えます。片付けができると、トラブル時も落ち着けます🧘♂️✨
この章でできるようになること🎯✅
- 実行中コンテナを 止める(
docker stop)🛑 - 止まったコンテナを 消す(
docker rm)🗑️ - 一覧で「今どうなってる?」を確認できる(
docker ps/docker ps -a)📋👀 - 「消せないんだけど!?😵」の典型パターンを突破できる💪
まずは超イメージ:コンテナの一生👶➡️🏃➡️💤➡️🗑️
ざっくりこういう状態遷移だと思ってOKです🙂
- Running(動いてる) 🏃💨
- Exited(止まってる) 💤
- Removed(削除済み) 🗑️✨
ポイントはこれ👇
stop:Running → Exited(止めるだけ)🛑rm:Exited → Removed(削除)🗑️- Runningのまま
rmは基本できない(だからまず止める)⚠️
docker stop はコンテナ内のメインプロセスにまず SIGTERM を送って、猶予後に SIGKILL…という「なるべく優しく止める」挙動です🙂(待ち時間も設定できます)(Docker Documentation)
ハンズオン:わざと増やして、ちゃんと片付ける🧪🧹
1) まずは“片付け用”のコンテナを2個作る📦📦
(中でずっと待機するだけの軽い例です)
docker run -d --name demo-sleep-1 alpine:3.20 sleep 9999
docker run -d --name demo-sleep-2 alpine:3.20 sleep 9999
2) 「今動いてる?」を見る👀📋
docker ps
→ ここには 動いてる(Running) ものだけが出ます🏃💨
止まったのも含めて全部見たいときは👇
docker ps -a
3) 1個止める🛑
docker stop demo-sleep-1
補足:待ち時間(猶予)を短くしたいなら
-t(秒)も使えます⌛
docker stop -t 3 demo-sleep-1
stop の挙動と -t/--timeout は公式リファレンスにまとまってます(Docker Documentation)
4) 止まったのを確認する✅
docker ps
docker ps -a
demo-sleep-1 が Exited(止まってる)になってたらOK😆✨
5) 止まったコンテナを消す🗑️✨
docker rm demo-sleep-1
これで demo-sleep-1 は 消えました(Removed)🎉
6) “ありがち事故”をわざと踏む😈👉😵(学習効率UP)
次を実行してみてください👇
docker rm demo-sleep-2
たぶん「動いてるから消せないよ」系のエラーになります😇 ✅ 正攻法はこれ:
docker stop demo-sleep-2
docker rm demo-sleep-2
rm のちょい大事オプション2つ⚙️🧠
① 強制削除 -f(最終手段)💥
実行中でも強制的に消すやつです(中のプロセスに SIGKILL で強制終了して削除)⚠️(Docker ドキュメント)
docker rm -f <container>
② ボリュームも一緒に -v(でも“匿名ボリューム”だけ)🧽
docker rm -v は コンテナに紐づくボリュームも削除します。
ただし 名前付き(named)ボリュームは削除されない ので、うっかり全部消えるわけじゃないのが安心ポイント🙂(Docker Documentation)
docker rm -v <container>
まだボリューム章じゃないので、今は 「
-vは“ついでに消えるデータ”が増えることがある⚠️」 くらいの感覚でOKです😊
まとめて掃除したい人へ:prune(便利だけど注意)🧹⚡
「止まったコンテナが大量にある…」なら👇
docker container prune
さらに「24時間以上前に止まったやつだけ消したい」みたいに絞れます🧠✨(Docker Documentation)
docker container prune --filter "until=24h"
似たやつで
docker system pruneもありますが、これはネットワークやイメージ等まで掃除対象が広がりがちなので、初心者のうちは慎重にね⚠️🧯(Docker Documentation)
よくある詰まりトップ5😵➡️🙂(ここだけ覚えれば強い)
-
rmできない:だいたい「まだ動いてる」 →
docker stop→docker rm✅ -
名前が分からん →
docker ps -aで一覧📋 -
コンテナ増えすぎ → まずは止まったやつだけ
docker container prune🧹(Docker Documentation) -
-f使いすぎ問題 → まずstop、本当にダメな時だけrm -f💥(Docker ドキュメント) -
消したのに容量が…? → 章が進むと「イメージ」「ボリューム」「ビルドキャッシュ」も絡みます(次の章以降で回収!)📦🧱🧰
AI活用コーナー🤖✨(そのままコピペOK)
✅ 片付けチェックリストを作らせる
- 「Dockerのコンテナを安全に片付ける手順を、初心者向けチェックリスト(5〜8項目)にして。
docker ps -a→stop→rm→確認、まで入れて。」
✅ エラー文を貼って“次の一手”を出させる
- 「このエラーの意味を1行で説明して、次に打つコマンド候補を3つ出して。危険なコマンドには⚠️を付けて。」
✅ 自分の状況に合う掃除コマンドを提案させる
- 「“止まってるコンテナだけ”を消したい。安全寄りのコマンドを提案して。
system pruneは原則使わない方向で。」
ミニ課題🏋️♂️🎯(10分でOK)
demo-aとdemo-bを作る(sleepでOK)📦📦demo-aだけ止めて、ps -aで状態確認👀demo-aを削除して、一覧から消えたことを確認✅- 最後に
demo-bも止めて削除🧹✨
まとめチートシート📌😆
## 動いてるのだけ
docker ps
## 全部(止まってるのも)
docker ps -a
## 止める
docker stop <name-or-id>
## 消す(止まってる前提)
docker rm <name-or-id>
## 最終手段:強制削除
docker rm -f <name-or-id>
## 止まったコンテナをまとめて掃除
docker container prune
次の章(第05章)では「イメージが溜まってディスクが死ぬ問題🪦💾」を、images / rmi でスッキリさせます🧽✨