Day2:基本コマンド完全習得(中盤)
中盤では、前半で学んだコマンドを “実際のコンテナの動きと結びつけて理解する” ことを目的にします。
単にコマンドを覚えるのではなく、
コンテナがどんな状態にあり、どのコマンドがどの状態を変えるのか
をイメージできるようにします。
ここが理解できると、Docker操作が「暗記」から「直感」に変わります。
コンテナの状態変化を「ストーリー」で理解する
コンテナは「生まれて → 動いて → 止まって → 消える」
Dockerコンテナは、まるでキャラクターのように状態が変わります。
生まれる(run)
動く(running)
止まる(exited)
消える(rm)
この流れを頭に入れると、
どのコマンドがどの状態に対応しているかが一気に理解できます。
例題:nginx を使ってコンテナのライフサイクルを体験する
ステップ1:コンテナを生み出す(run)
docker run -d --name web nginx
ここで起きていることは次の通りです。
nginx イメージがなければ自動でダウンロード
コンテナが作られる
コンテナが起動する
バックグラウンドで動き続ける
この瞬間、コンテナは running(動作中) 状態です。
ステップ2:動いているコンテナを確認する(ps)
docker ps
ここで web という名前のコンテナが running 状態で表示されます。
もし表示されない場合は、
コンテナが止まっている可能性があります。
その場合は:
docker ps -a
これで「止まっているコンテナ」も含めて一覧表示できます。
ステップ3:コンテナを止める(stop)
docker stop web
stop は 「コンテナに対して正常終了をお願いする」 コマンドです。
プロセスに終了シグナルを送り、丁寧にシャットダウンします。
この時点でコンテナは exited(停止) 状態になります。
ステップ4:止まったコンテナを消す(rm)
docker rm web
rm は 「コンテナそのものを削除する」 コマンドです。
停止しているコンテナしか削除できません。
stop → rm
という順番が基本です。
ステップ5:イメージ一覧を確認する(images)
docker images
ここには nginx のイメージが残っています。
これは「設計図」なので、コンテナを消しても残ります。
ステップ6:イメージを削除する(rmi)
docker rmi nginx
ただし、
nginx イメージを使ったコンテナが残っていると削除できません。
つまり、
コンテナ → イメージの順で削除する
というルールがあります。
コンテナの状態を図でイメージする
状態の流れを頭に描けるようにする
docker run → running → docker stop → exited → docker rm → deleted
そしてイメージは別物として存在し続けます。
docker images → 設計図一覧
docker rmi → 設計図削除
この関係が理解できると、
Dockerの操作が一気にスムーズになります。
中盤まとめ(ここまでで理解すべきこと)
- run は「作る+起動する」
- ps は「動いているコンテナを見る」
- stop は「コンテナを止める」
- rm は「止まったコンテナを消す」
- images は「イメージ一覧」
- rmi は「イメージを消す」
- コンテナとイメージは別物
- コンテナは状態が変わる(running → exited → deleted)
ここまで理解できれば、
コンテナのライフサイクルの“中盤部分”はクリアです。
