Ubuntu 20.04.5 LTS
Docker 版本 24.0.2
我正在尝试将 /var/lib/docker 目录重新定位到我的 USB SSD 闪存驱动器以节省内部存储上的内存,但是,我很难这样做。我尝试修改 docker 服务以设置不同的数据根,但是当我启动该服务时,我收到错误,并认为这与重定位目标是 USB 闪存驱动器有关。
我通过执行创建了现有 docker 文件的副本
sudo rsync -avxP /var/lib/docker/ /home/myuser/riva/docker/
其中 /home/myuser/riva 是我挂载的 USB 驱动器(myuser 是我的用户名),然后修改 docker.service 将数据根设置为新位置
ExecStart=/usr/bin/dockerd --data-root /home/myuser/riva/docker -H fd:// --containerd=/run/containerd/containerd.sock
但是docker无法启动,出现以下错误
time="2024-03-13T02:21:33.996540964-07:00" level=info msg="Starting up"
time="2024-03-13T02:21:34.000771936-07:00" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/resolv.conf"
time="2024-03-13T02:21:34.100456272-07:00" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay2
time="2024-03-13T02:21:34.100577936-07:00" level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"
failed to start daemon: error initializing graphdriver: driver not supported
出于测试目的,我尝试了相同的过程来重新定位到内部存储上的另一个文件夹,效果很好,因此这证明问题与 SSD 闪存驱动器有关。当我执行“fdisk -l”时,结果报告 ntfs,正如预期的那样。
/dev/sda1: LABEL="RIVA" UUID="18089E33089E103C" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="5fa27c32-117b-4223-9a76-6297b0fdc625"
有人可以帮忙吗?
谢谢
我解决了我的问题。问题是 storage-driver=overlay2 与 NTFS 文件系统不兼容。我将闪存驱动器重新格式化为 ext4,这解决了我的问题。我希望有人能从我的问题中受益。
有关信息,在格式化闪存驱动器之前,我更改了 storage-driver=fuse-overlayfs,但这对于 NTFS 文件系统也失败了。我也尝试过VFS,docker成功工作,但是导致下载过高。