web-dev-qa-db-ja.com

停止したDockerコンテナのみを一覧表示する

Dockerを使用すると、実行中のコンテナまたは停止したコンテナを含むすべてのコンテナを一覧表示できます。

これは、次の方法で実行できます。

$ docker ps # To list running containers

または

$ docker ps -a # To list running and stopped containers

停止したコンテナのみを一覧表示する方法はありますか?

132
Yogesh_D

使用できるのは、停止したコンテナだけです。

docker ps --filter "status=exited"

または

docker ps -f "status=exited"
229
Yogesh_D

典型的なコマンドは次のとおりです。

docker container ls -f 'status=exited'

ただし、これは可能性のある非実行状態の1つだけをリストします。これはすべての可能な状態のリストです:

  • 作成した
  • 再起動
  • ランニング
  • 削除
  • 一時停止
  • 終了しました
  • デッド

ステータスに複数のフィルタを渡すことで、複数のステータスをフィルタできます。

docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'

これを自動クリーンアップスクリプトと統合する場合は、bash構文を使用してコマンドをチェーンし、-qを使用してコンテナIDのみを出力し、終了コードフィルタで正常に終了したコンテナだけに制限できます。

docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')

使用できるフィルタの詳細については、Dockerのドキュメントを参照してください。 https://docs.docker.com/engine/reference/commandline/ps/#filtering

18
BMitch
docker container list -f "status=exited"

または

docker container ls -f "status=exited"

または

 docker ps -f "status=exited"
1
Artur Karbone