创建容器镜像时可以指定文件夹吗?

创建容器镜像时可以指定文件夹吗?

当我创建一个新的容器时,一段时间后总会出现这个错误。即使我用命令删除了一些图像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) 来释放一些空间。

相关内容