Dockerで終了したコンテナをすべて削除する方法


  1. Dockerコマンドを使用する方法:

    docker rm $(docker ps -aqf "status=exited")

    このコマンドは、docker psコマンドで終了したコンテナの一覧を取得し、docker rmコマンドでそれらを削除します。

  2. Docker Composeを使用する方法: Docker Composeを使用している場合、以下のようにdocker-compose downコマンドを実行します。

    docker-compose down --remove-orphans

    このコマンドは、終了したコンテナを削除するだけでなく、関連するネットワークやボリュームも削除します。

  3. Docker APIを使用する方法: Docker APIを使用してコンテナを管理する場合、以下のようなPythonのコードを使用することができます。

    import docker
    client = docker.from_env()
    containers = client.containers.list(filters={"status": "exited"})
    for container in containers:
    container.remove()

    このコードは、Docker APIを使用して終了したコンテナの一覧を取得し、remove()メソッドを使用してそれらを削除します。

これらの方法を使用することで、終了したコンテナを効率的に一括で削除することができます。適切な方法を選択し、環境やニーズに合わせて使用してください。