【Docker初心者向け】コンテナのステータスについて

Dockerコンテナの各ステータスについて説明する。

createdステータス

コンテナが作成された状態。コンテナは起動していない。

docker createをつかってコンテナを作成する。

docker create --name ubuntu-test -it ubuntu /bin/sh

「-it」はコンテナ内でコマンドの入出力をするためのオプション。

最後につけた「/bin/sh」はコンテナ起動時に最初に実行するコマンド。

「/bin/sh」でシェルを実行することでその後のコマンドを打てるようにするため。これがないとコマンドが打てない。

ステータスを確認

以下のコマンドでステータスを確認。

docker inspect ubuntu-test

「Status」が「created」ステータスになっていること確認できる。

docker ps -aでも確認できる。

runningステータス

createdステータスのコンテナをdocker startで「running」ステータスにすることができる。

docker start ubuntu-test

ステータスを確認

docker inspect ubuntu-testで確認すると「Status」が「running」ステータスになっていること確認できる。

docker psでも確認できる。

docker runコマンドは、「create」と「start」を同時に行う。

pausedステータス

docker pauseでコンテナを一時停止させる。

docker pause ubuntu-test

docker inspect ubuntu-testで確認すると「Status」が「paused」ステータスになっていること確認できる。

docker ps -aでも確認できる。

この一時停止はdocker unpauseで解除できる。

docker unpause ubuntu-test 

restartingステータス

docker restartでコンテナを再起動できる。再起動中に「restarting」ステータスとなる。

exitedステータス

「exited」ステータスはコンテナが終了した状態のこと。

コンテナは終了してもの「exited」ステータスとして残り続ける。

docker runでフォアグラウンドで実行させるオプションを付けずに実行すると、そのまま終了となり、「exited」ステータスとなる。

docker run --name ubuntu-test ubuntu

また、「running」ステータスのコンテナへはdocker stopとコマンドを使うと終了とさせることができる。

docker stop ubuntu-test

removingステータス

「removing」ステータスは、コンテナ削除中のステータス。

削除中のステータスなので削除されてしまった後の状態を見ることはあまりない。

コンテナの削除はdocker rmでおこなう。停止中のコンテナにしか実行できない。実行中のコンテナを強制削除する場合は-fオプションを付与する。

deadステータス

「dead」テータスは、正常に終了できなかったコンテナの状態。削除するか、強制削除をする。

コメント