導入
コンテナは「停止」と「削除」が別の操作です。docker stop で止めても、コンテナ自体は -a で見える形で残ります。完全に消すには docker rm を使います。
説明
docker stop <名前|ID>:動作中のコンテナを停止する(Exitedになる)。docker start <名前|ID>:停止したコンテナを再び起動する。docker restart <名前|ID>:停止→起動をまとめて行う。docker rm <名前|ID>:コンテナを削除する。動作中のものは消せないので、先に stop するか、-f(強制)を付ける。
stateDiagram-v2 [*] --> Running: docker run Running --> Exited: docker stop Exited --> Running: docker start Exited --> [*]: docker rm
停止しただけのコンテナは残り続けてディスクを消費します。使い終わったら docker rm で片付ける習慣をつけましょう(使い捨てなら最初から docker run --rm にしておくと、終了時に自動で削除されます)。
やってみよう
docker run -d -p 8080:80 --name web nginxで起動したあと、docker stop web→docker ps -a(Exited を確認)→docker start web(再起動)→docker rm -f web(強制削除)の順に試してみましょう。- 最後に
docker ps -aで web が消えていることを確認しましょう。