Docker 码头工人停止所有集装箱

Docker 码头工人停止所有集装箱,docker,docker-cleanup,Docker,Docker Cleanup,我已经多次看到以下命令停止所有docker容器: docker stop$(docker ps-a-q) 有两件事我不清楚: docker ps-a打印所有容器,而不仅仅是正在运行的容器,那么停止已经停止的容器有什么意义呢 如果docker ps不返回/打印任何内容(没有正在运行的图像),则docker stop会提示参数不足 我错过了什么?在docker之后清理环境的最佳方法是什么?如果docker ps为空,则此操作将不会运行: docker ps -q | xargs --no-run-i

我已经多次看到以下命令停止所有docker容器:

docker stop$(docker ps-a-q)

有两件事我不清楚:

  • docker ps-a打印所有容器,而不仅仅是正在运行的容器,那么停止已经停止的容器有什么意义呢
  • 如果docker ps不返回/打印任何内容(没有正在运行的图像),则docker stop会提示参数不足

  • 我错过了什么?在docker之后清理环境的最佳方法是什么?

    如果
    docker ps
    为空,则此操作将不会运行:

    docker ps -q | xargs --no-run-if-empty docker stop
    

    通常使用
    rm
    system prune
    如果您真的想清理

    您也可以使用此oneliner:

    docker stop $(docker ps -aq | tr '\n' ' ')