Dockerを使用すると、実行中のコンテナまたは停止したコンテナを含むすべてのコンテナを一覧表示できます。
これは、次の方法で実行できます。
$ docker ps # To list running containers
または
$ docker ps -a # To list running and stopped containers
停止したコンテナのみを一覧表示する方法はありますか?
使用できるのは、停止したコンテナだけです。
docker ps --filter "status=exited"
または
docker ps -f "status=exited"
典型的なコマンドは次のとおりです。
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
docker container list -f "status=exited"
または
docker container ls -f "status=exited"
または
docker ps -f "status=exited"