Docker Compose启动Immich报设备无剩余空间错误求助
部署Immich Docker镜像时遇到"no space left on device"错误
我尝试用Docker部署Immich镜像,但一直失败。每次执行docker compose up启动应用时都会抛出以下错误:
Error response from daemon: failed to create task for container: failed to start shim: symlink /var/lib/desktop-containerd/daemon/io.containerd.runtime.v2.task/moby/c6596c83f15b1c73e8e46cdeec038a46ab367952d0a1d947d773821b1b1cdb15 /var/run/desktop-containerd/daemon/io.containerd.runtime.v2.task/moby/c6596c83f15b1c73e8e46cdeec038a46ab367952d0a1d947d773821b1b1cdb15/work: no space left on device: unknown
我已经重装过Docker,并且确认磁盘有足够空间,推测问题和磁盘空间无关。我对虚拟磁盘(vdisk)不太熟悉,希望能得到解决办法。
执行docker system df --verbose的返回结果如下:
Images space usage: REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS ghcr.io/immich-app/immich-machine-learning release 0989db1266d9 3 days ago 1.12GB 0B 1.125GB 1 ghcr.io/immich-app/immich-server release f8a3c78ec0a0 3 days ago 2.97GB 0B 2.973GB 1 <none> <none> 905c4ee67b8e 5 weeks ago 44.6MB 0B 44.61MB 1 <none> <none> 90724186f0a3 12 months ago 914MB 0B 914.4MB 1 Containers space usage: CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES 0c624e2577a8 ghcr.io/immich-app/immich-server:release "tini -- /bin/bash s…" 0 4.1kB 7 minutes ago Created immich_server c6596c83f15b redis:6.2-alpine "docker-entrypoint.s…" 1 4.1kB 7 minutes ago Created immich_redis 3d15c07602fd tensorchord/pgvecto-rs:pg14-v0.2.0 "docker-entrypoint.s…" 0 4.1kB 7 minutes ago Created immich_postgres 12d122dacf44 ghcr.io/immich-app/immich-machine-learning:release "tini -- ./start.sh" 1 4.1kB 7 minutes ago Created immich_machine_learning Local Volumes space usage: VOLUME NAME LINKS SIZE immich_model-cache 1 800.2MB 76d007bbf3b795f9ee126b2cc2d039960c662a894e96da6763962ea01d360555 0 81.56kB 076f891c7a8c3273edb03835a84c5f5f8cb9611a619f5aa15eaa577f2b46ab0b 1 0B Build cache usage: 0B CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
从结果看没有明显异常。
解决办法
- 检查Docker虚拟磁盘空间:Docker Desktop的虚拟磁盘是独立存储,和主机磁盘空间分开。打开Docker Desktop设置,进入
Resources > Disk,查看虚拟磁盘已用空间,若接近上限,点击"Clean up"清理,或调整虚拟磁盘最大容量。 - 清理containerd残留文件:手动删除containerd运行时目录下的旧容器残留,执行以下命令:
清理完成后重启Docker服务:sudo rm -rf /var/lib/desktop-containerd/daemon/io.containerd.runtime.v2.task/moby/*sudo systemctl restart docker - 重置Docker Desktop:若上述方法无效,可尝试重置Docker Desktop(设置中的
Reset选项),但此操作会清除所有本地镜像、容器和卷,操作前请做好备份。 - 检查inode使用情况:磁盘空间足够但inode耗尽也会触发该错误。执行
df -i查看主机各分区的inode使用率,若某个分区inode占满,清理该分区下的大量小文件。
内容的提问来源于stack exchange,提问作者noobie
相关产品推荐
相关产品推荐

