Day2:基本コマンド完全習得(前半)
前半では、Docker の「基本コマンド」を “意味から理解する” ことを目的にします。
単にコマンドを覚えるのではなく、
コンテナのライフサイクル(生まれる → 動く → 止まる → 消える)
を頭の中でイメージできるようにするのがゴールです。
コンテナのライフサイクルを理解するための最初の一歩
コンテナは「生き物」だと思うと理解しやすい
Dockerコンテナは、
生まれて(run)
動いて(running)
止まって(stop)
消える(rm)
という流れで扱います。
この流れを理解すると、
Dockerの操作が一気にシンプルになります。
docker run:コンテナを“生み出して動かす”コマンド
docker run の本質
docker run は Docker の中で最も重要なコマンドです。
この一行で、
イメージを元にコンテナを作り、起動まで行う
という2つの動作を同時に行います。
例:
docker run nginx
この一行で、
nginx イメージを取得し(なければ自動でダウンロード)、
コンテナを作り、
Webサーバとして起動します。
run の裏側で起きていること
- イメージがなければ pull
- コンテナを create
- コンテナを start
- プロセスを実行
つまり、run は 「create + start」 のセットです。
docker ps:今“動いているコンテナ”を見る
ps の役割
docker ps は、
現在動いているコンテナの一覧
を表示します。
例:
docker ps
これで、
コンテナID
使っているイメージ
起動時間
公開ポート
などが確認できます。
よくある初心者のつまずき
「コンテナが見つからない!」
→ 実は止まっているだけで、docker ps には表示されない。
止まっているコンテナも含めて見たい場合は:
docker ps -a
これで「生きている」「死んでいる」すべてのコンテナが見えます。
docker stop:動いているコンテナを“止める”
stop の本質
docker stop は、
コンテナの中のプロセスに「終了してね」と伝えるコマンド
です。
例:
docker stop コンテナID
stop は「優しく止める」イメージです。
プロセスに終了シグナルを送り、
安全にシャットダウンします。
docker rm:コンテナを“消す”
rm の本質
docker rm は、
止まっているコンテナを削除するコマンド
です。
例:
docker rm コンテナID
stop と rm の違いは非常に重要です。
stop → コンテナは残る(停止状態)
rm → コンテナそのものが消える(復活不可)
よくある初心者の誤解
「stop したら消えるんでしょ?」
→ 消えません。止まるだけです。
コンテナを完全に消したいなら rm が必要です。
docker images:ローカルにある“設計図”を見る
images の役割
docker images は、
ローカルに保存されているイメージ一覧
を表示します。
例:
docker images
ここに表示されるのは「設計図」であり、
コンテナではありません。
docker rmi:イメージ(設計図)を削除する
rmi の本質
docker rmi は、
イメージを削除するコマンド
です。
例:
docker rmi nginx
ただし、
そのイメージを使って作られたコンテナが残っていると削除できません。
前半まとめ(ここまでで理解すべきこと)
- docker run は「コンテナを作って動かす」最重要コマンド
- docker ps は「今動いているコンテナ」を見る
- docker stop は「コンテナを止める」
- docker rm は「コンテナを消す」
- docker images は「イメージ一覧」
- docker rmi は「イメージを消す」
ここまで理解できれば、
コンテナのライフサイクルの“前半部分”はクリアです。
