Docker正在占用磁盘空间
・让我们彻底清除那些不容易消除的 Docker 垃圾吧。
・把 Docker 的保存位置移动到另一个驱动器吧。
・这是一个 Ubuntu 22.04 环境。
我在VScode中使用Docker,但是由于不会丢弃镜像等内容,导致磁盘空间被占满。
通常可以通过使用”prune”命令来删除不需要的内容。
删除docker文件夹以释放空间
由于/var/lib/docker/overlay2占用的空间非常大,使用prune命令无法有效减少其大小。
无奈之下,我尝试将整个文件夹一次性删除。
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
sudo rm -rf /var/lib/docker
sudo systemctl start docker.socket
sudo systemctl start docker.service
rm -rf 命令是一个强制删除文件夹的命令,因此需要谨慎使用。
确保容器内没有重要的数据。
删除文件夹后,执行docker-compose up后,/var/lib/docker/overlay2文件夹重新创建了。看来不需要重新安装docker之类的也没关系。
将与Docker相关的文件移动到另一个驱动器上。
根据24.0版本的日语手册,可以通过创建一个名为/etc/docker/daemon.json的json文件来进行设置。但由于我想要将整个docker文件夹移动(导致json文件没有位置可放),所以采用另一种方法。
在Docker守护进程的选项中进行设置。

编辑docker.service文件
sudo gedit /lib/systemd/system/docker.service
[服务] 在此处的下一行
ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock
持续使用半角空格煮制,并添加以下内容:
–data-root=/mnt/myssd/docker
结果如下。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/mnt/myssd/docker
保存的注意事项
如果Docker的保存位置在另一个驱动器上时,需要手动设置挂载点。自动创建的挂载点例如”/media/user”可能因为访问权限等问题无法正常工作。
可以直接编辑/etc/fstab,或者使用图形用户界面工具(推荐)如”Disks”(默认在Ubuntu中)来进行操作。
/dev/disk/by-uuid/554eedee-e53f-4388-b205-2618e4ff02ec /mnt/myssd auto nosuid,nodev,nofail,x-gvfs-show 0 0
如果重新启动并创建容器等没有问题,则可以使用sudo rm -rf /var/lib/docker命令删除旧数据。