我已经建立了一个非常大的形象(1G),它有很多基础设施和#34;用于测试(Mongo,Kafka等)
尝试启动时,设备错误没有剩余空间。我该如何解决这个问题?
我已经清除了已停止的图片并删除了我绝对不需要的任何图片。
答案 0 :(得分:26)
如果Docker出现no space left on device
错误,您可以使用system prune
轻松解决此问题。
我使用Docker for Mac 17.03。
使用Docker UP和所有容器RUNNING,执行docker system prune -a
这应该给出以下对话框:
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all images without at least one container associated to them Are you sure you want to continue? [y/N]
然后按y删除大量容器,用Total reclaimed space: 23.26 GB.
现在你可以在不重启docker的情况下重新开始工作!
答案 1 :(得分:17)
您可以在磁盘标签中的Docker for Mac首选项中调整虚拟磁盘映像大小。这将增加空间而不会丢失数据。
答案 2 :(得分:6)
检查您的docker目录以找到您的问题(在MAC上这将有所不同,但同样的方法可能会有所帮助)
du -hs /var/lib/docker
您可以通过在/var/lib/docker
的子文件夹上执行相同的命令来查看占用大量磁盘空间的文件夹:
对于/var/lib/docker/volumes
:您必须删除“orphaned”卷。
您也可以使用docker volume ls -qf dangling=true
来检查
卷。要删除孤立卷:docker volume rm $(docker volume ls -qf dangling=true)
对于/var/lib/docker/containers
,您必须检查是否有大量已停止(或正在运行)的容器docker ps
=正在运行的容器和docker ps -a
=所有容器(运行和停止) )。要删除已停止的容器:docker rm -v $(docker ps -aq)
。 -v
标志将自动删除容器的卷
对于/var/lib/docker/images
,您可以使用docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
同时检查GitHub以找到一些非常有用的脚本,删除未使用的图像/容器/卷。
答案 3 :(得分:3)
您可以更新适用于vm的硬盘驱动器的大小
10^18
答案 4 :(得分:1)
您可以单击顶部的Docker图标,然后单击preferences
。转到reset
标签,然后单击remove all data
。
答案 5 :(得分:1)
尝试增加磁盘空间。这对我有用。 Docker->首选项->磁盘->磁盘映像大小(增加)->应用
答案 6 :(得分:0)
您可以随时删除并重新创建boot2docker vm,以确保只重新构建/导入所需的图像/容器。如果您不断遇到空间问题,可能需要为boot2docker vm提供更多空间,请参阅Docker increase disk space