我正在尝试在 docker 中启动我保存的任何容器,但无法启动。我已经开始从守护进程获取错误响应:
Error running DeviceCreate (createSnapDevice) dm_task_run failed
这是在提交一个相对较大的 docker 镜像后开始发生的,它似乎已经填满了所有可用的 docker 数据空间,即使我在主机上有很多空间。现在我无法再释放 docker 数据空间,即使在删除大图像之后也是如此。 Docker 无法回收空间。我还尝试了下面提到的修复,以便我可以启动 docker 容器,但没有成功。我能做些什么来修复现有的 Docker 以再次运行图像吗?
相关问题:Can't run Docker container due device mapper error
这是我的主机配置。 Data Space used 和 total 已达到最大值,free 为 0。
# docker info
=========================================================
Containers: 49
Images: 23
Storage Driver: devicemapper
Pool Name: docker-8:3-4998488-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 107.4 GB
Data Space Total: 107.4 GB
Data Space Available: 0 B
Metadata Space Used: 60.36 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.087 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: Red Hat Enterprise Linux
CPUs: 4
Total Memory: 7.64 GiB
docker version
=========================================================
Client:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:08:45 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:08:45 UTC 2015
OS/Arch: linux/amd64
最佳答案
运行
docker system df
会告诉您磁盘使用情况和可回收空间。
释放空间并保留您的图像:
删除卷:
docker volume rm $(docker volume ls --format {{.ID}})
移除停止的容器:
docker rm $(docker ps -aq)
只是清洁一切 可选:删除所有图像/容器/卷/网络
docker system prune -af
关于linux - Docker 实例无法再运行图像并且无法回收可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33293140/