当我创建一个新的容器时,一段时间后总会出现这个错误。即使我用命令删除了一些图像docker rmi dobotv4vc_2:v450stable_v2 && docker rmi dobotv4vc:450stable_v2
,这个错误仍然发生。因此,我必须使用命令docker system prune -a
来清理。虽然这可以解决问题,但它会清理所有图像,这不是我想要的,因为我想保留一些只构建一次的图像。由于我的计算机分区有大量存储空间/var
,当我想要创建容器镜像时,我可以指定一个文件夹而不是使用默认文件夹吗?/home
错误:
Error response from daemon: write /var/lib/docker/tmp/docker-export-4186096899/ce3cb6d0076be36c2265b2a0a977320d8bd8a628907e3bc44be967f9bcab492e/layer.tar: no space left on device
我的电脑的信息:
debian12@gyz:~/share/v4vc$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dobotv4vc_2 v450stable_v2 06d439cb51c5 11 hours ago 797MB
dobotv4vc 450stable_v2 f27356a72ac9 37 hours ago 803MB
v4os v2.0 f1dcedaf0739 37 hours ago 505MB
dobotv4vc v450stable_v1 b5fc1faf7f4e 47 hours ago 1.09GB
v4os v1.4 28692487a06f 12 days ago 559MB
debian12@gyz:~/share/v4vc$ df -h
文件系统 大小 已用 可用 已用% 挂载点
udev 3.9G 0 3.9G 0% /dev
tmpfs 789M 24M 765M 4% /run
/dev/sda2 23G 9.2G 13G 43% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda1 511M 5.9M 506M 2% /boot/efi
/dev/sda5 1.8G 64K 1.7G 1% /tmp
/dev/sda3 9.1G 8.5G 112M 99% /var
/dev/sda6 423G 36G 366G 9% /home
tmpfs 789M 32K 789M 1% /run/user/1000
答案1
看起来您的/var
文件系统已满 99%,默认情况下 Docker 用于/var/lib/docker
存储。您可以通过设置来更改 Docker 后备存储的位置data-root
选项中/etc/docker/daemon.json
。
你的问题很好地说明了为什么它经常发生不是有一个单独的/var
分区是有意义的。对于标准的家用台式机/笔记本电脑,使用单个/
文件系统(包括/var
和/home
)通常会更方便,这样您就可以在空间方面获得最大的灵活性。
您可能需要进行调查/var
以确定空间的主要消耗者。如果是 Docker,您可以通过修剪悬空映像 ( docker image prune
) 和停止容器 ( docker container prune
) 来释放一些空间。