みなさん、Dockerのある生活を楽しんでいますか?Dockerコンテナの機嫌は、今日もよいですか?本記事では、Dockerコンテナの機嫌(ステータス)の確認方法とステータスの移り変わり(遷移)を紹介します。
もくじ
Dockerコンテナのステータスを確認する方法
Dockerコンテナのステータスを確認する方法を、2つ紹介します。
docker psコマンドを使う方法
docker ps -a
コマンドのSTATUS
を確認します。以下の例では、ステータスexisted
でコンテナの実行は終了しています。終了時の終了コードは137
です。
docker inspectコマンドを使う方法
docker inspect
コマンドは、コンテナの情報をJSON形式で確認をすることができます。--format
オプションで、指定したフォーマットで出力を行うことができます。コンテナのステータスは.State.Status
キーで確認をすることができます。
以下の実行例では、ステータスexited
でコンテナの実行は終了しています。
Dockerコンテナのステータス
Dockerコンテナのステータスは、以下の7種類があります。
- created
- restarting
- running
- removing
- paused
- exited
- dead
それぞれのステータスは、以下の遷移図に従って変化していきます。

created
created
は、コンテナは作成されたがスタートしていない状態です。docker create
コマンドでコンテナを作成すると、created
状態になります。docker start
コマンドで、running
状態へ遷移します。
restarting
restarting
は、コンテナが再起動している状態です。docker restart
コマンドで再起動が行われます。以下の例では、docker restart
コマンドでrestarting
の状態を画面に取得するのが難しかったので、docker run
の--restart
オプションで再起動を繰り返してステータス状態を取得しています。また、watch
コマンドでステータス取得を0.1秒間隔で実行しています。
running
running
は、コンテナを実行している状態です。docker start
もしくはdocker run
コマンドでrunning
状態になります。
removing
removing
は、コンテナを削除している状態です。docker rm
コマンドでコンテナの削除を行います。
paused
paused
は、コンテナが一時停止している状態です。docker pause
コマンドでpaused
状態に遷移します。docker unpause
コマンドでrunning
状態にもどすことができます。
existed
existed
は、コンテナが実行され、終了した状態です。コンテナでの実行プロセスの終了もしくはdocekr stop
コマンドでexistes
状態に遷移します。docker ps -a
コマンドで終了コードを確認することができます。※ステータスの確認方法を参照
dead
dead
は、コンテナが停止を試みて停止が失敗した状態です。デバイスビジーや他のコンテナによりリソースが使われているようなときにdead
状態になります。
さいごに
本記事ではDockerコンテナのステータスの遷移と確認の方法を紹介しました。ステータスの確認方法で紹介したdocker inspect
コマンドは、ステータス以外にも様々な詳細情報を出力してくれます。Dockerコンテナでトラブルが発生したときにあわてないように、どのような情報を取得できるのかをあらかじめ確認をしておきたいですね。

投稿者プロフィール
最新の投稿
AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
セキュリティ2021年7月14日ゼロデイ攻撃とは
セキュリティ2021年7月14日マルウェアとは
WAF2021年7月13日クロスサイトスクリプティングとは?