3

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

码头工人停止$(码头工人ps -a -q)

有两点我不清楚:

  1. docker ps -a打印所有容器,而不仅仅是正在运行的容器,那么停止已经停止的容器有什么意义呢?
  2. 如果docker ps没有返回/打印任何内容(没有正在运行的图像),那么docker stop会指责它没有足够的参数。

我在这里想念什么?在 docker 之后清理环境的最佳方法是什么?

4

2 回答 2

3

docker ps如果为空,则使用它不会运行:

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

通常你使用rmsystem prune如果你真的想清理

于 2019-10-08T13:13:19.603 回答
0

你也可以使用这个 oneliner:

docker stop $(docker ps -aq | tr '\n' ' ')
于 2019-11-16T03:57:08.150 回答