Dockerのライフサイクルはステータスによって管理されます。
ステータスの確認方法
下記2つのコマンドを使用すればコンテナのステータスを確認できます。
- docker ps -a
- docker inspect コンテナ名
ステータスの種類
Dockerコンテナには下記8つの状態があります。(Dockerイメージはテンプレートであり状態を持ちません。
- Created
- Running(実行中)
- Paused(一時停止)
- Restarted(再実行)
- Exited(停止、終了)
- Removing
- Dead
- 破棄
「Dockerコンテナを操作する」と言った場合は必ずこの三つの状態のうちどれかの状態になっていることは把握しておきましょう。
Created
コンテナが作成されてスタートされる前の状態です。「docker create」コマンドを使用してコンテナを作成した状態がこのステータスになります。
Runnning(実行中)
「docker container runコマンド」(もしくはdocker startコマンド)により実行されている状態はこの状態になります。サーバーアプリケーションであればこの状態は長く続くことになります。一度実行したらすぐに終了するコマンドラインアプリケーションの場合はこの状態はすぐに終わります。
Paused(一時停止)
docker pauseコマンドを実行してコンテナを一時停止させた際にこのステータスになります。「docker unpause」コマンドで解除することが可能です。
Restarted(再実行)
docker restartコマンド等を実行した際に一時的になるステータスです。ほぼこの状態を見ることはないでしょう。
Exited(終了、停止)
下記の場合にこの状態に遷移します。ディスクにコンテナ終了の状態は保存されているので再実行も可能です。
- ユーザーが明示的にコンテナを停止した場合
- コンテナで実行しているアプリが正常、異常問わず終了した場合
Removing
コンテナの削除中を示すステータスです。削除はそれほど時間が掛からないのであまり見かけることがないステータスです。
Dead
正常に終了できずに残ってしまったコンテナになります。削除するしかないです。
破棄
停止したコンテナをディスクから破棄することです。破棄せずにコンテナの状態が溜まり続けるとディスクを逼迫してしまうので定期的に破棄することが望ましいです。なお、一度破棄してしまったコンテナは再度実行することはできないので注意が必要です。
この記事へのコメントはありません。