每个docker run命令或RUNDockerfile中的每个命令都会创建一个容器.如果容器不再运行,仍然可以看到它docker ps -a.
我是否应该关注拥有大量非运行容器?我应该docker rm在非运行容器上发行吗?
我不确定这些非运行容器会产生什么性能或内存/存储损失.
Ken*_*ane 72
未运行的容器除磁盘空间外不占用任何系统资源.
自己清理起来通常很好,但是如果你有很多人坐在它周围,它根本不应该减慢性能.
如果您在运行包含大量已停止容器的docker命令时发现速度变慢,则可能是docker中的错误,您应该提交错误.
acu*_*ich 63
该docker run文档描述了如何在容器退出时自动清理容器并删除文件系统:
--rm=false: Automatically remove the container when it exits (incompatible with -d)
Run Code Online (Sandbox Code Playgroud)
上面显示默认情况下容器没有被删除,但添加--rm=true或只是短手--rm将这样工作:
sudo docker run -i -t --rm ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
当您从容器中退出时,它将自动删除.
您可以通过在一个终端窗口中列出您的docker容器来测试它:
watch -n1 'sudo ls -c /var/lib/docker/containers'
Run Code Online (Sandbox Code Playgroud)
然后在另一个窗口中运行此命令以运行多个docker容器,这些容器将在休眠10秒后自动退出.
for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done
Run Code Online (Sandbox Code Playgroud)
我不确定这些不运行的容器会产生哪些性能或内存/存储损失。
为了评估未运行的 Docker 容器使用了多少存储空间,您可以运行:
docker ps --size --filter "status=exited"
Run Code Online (Sandbox Code Playgroud)
--size:显示总文件大小(仅供参考:解释“docker ps -s”中的 SIZE 列以及“virtual”关键字的含义 #1520)。--filter "status=exited":仅列出已停止的容器。同样,您可以运行:docker container ls --filter "status=exited"
您还可以使用命令docker system df(2017 年 1 月 Docker 1.13.0 中引入)查看 docker 磁盘使用情况,例如:
username@server:~$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 44 28 114.7GB 84.84GB (73%)
Containers 86 7 62.43GB 41.67GB (66%)
Local Volumes 2 1 0B 0B
Build Cache 0B 0B
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11147 次 |
| 最近记录: |