我应该关心多余的,不是

每个docker run命令或Dockerfile中的每个RUN命令都会创建一个容器。 如果容器不再运行,它仍然可以用docker ps -a看到。

我应该关心有一大堆非运行的容器吗? 我应该在非运行容器上发布docker rm吗?

我不确定这些非运行容器会带来哪些性能或内存/存储处罚。


除了磁盘空间之外,没有运行的容器不占用任何系统资源。

清理后通常是很好的,但如果你有很多人坐在这里,它不应该减慢性能。

如果在运行带有大量停止容器的docker命令时发现速度变慢,则可能是docker中的一个错误,并且应该提交一个错误。


docker run文档介绍了如何在容器退出时自动清理容器并删除文件系统:

  --rm=false: Automatically remove the container when it exits (incompatible with -d)

以上显示,默认情况下容器不会被删除,但添加--rm=true或只是简短的--rm会像这样工作:

sudo docker run -i -t --rm ubuntu /bin/bash

当你从容器中退出时,它将被自动删除。

您可以通过在一个终端窗口中列出您的泊坞窗容器来测试:

watch -n1 'sudo ls -c /var/lib/docker/containers'

然后在另一个窗口中运行此命令来运行多个Docker容器,这些容器在休眠10秒后都会自动退出。

for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done

如果您运行带有卷的容器,并且不使用docker rm -v将其删除,那么在删除容器后该卷不会被删除。 此外,vfs存储驱动程序也存在问题。 如果您忘记清理,卷将占用您的磁盘空间。

链接地址: http://www.djcxy.com/p/18237.html

上一篇: Should I be concerned about excess, non

下一篇: How to mount host directory in docker container?