安装 docker 卷失败,并显示“无此设备”错误

安装 docker 卷失败,并显示“无此设备”错误

我已经在多用户环境中设置了 Docker,其守护进程设置如下

{
  "userns-remap": "default",
  "data-root": "/data/docker"
}

其中/dev/sda1/映射到/data如下:

/dev/sda1 /data ext4 rw,relatime,quota,usrquota,grpquota,prjquota 0 0

我添加了配额选项以启用对 Docker 卷的约束设置,并使用以下命令定义了一个新卷:

docker volume create --driver local --opt type=volume --opt device=/dev/sda1 --opt size=750G vitis

docker volume inspect vitis打印以下信息:

[
    {
        "CreatedAt": "2023-03-25T23:01:23-07:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/data/docker/1214112.1214112/volumes/vitis/_data",
        "Name": "vitis",
        "Options": {
            "device": "/dev/sda1",
            "size": "750G",
            "type": "volume"
        },
        "Scope": "local"
    }
]

当我尝试使用以下命令运行新容器时,收到与安装卷相关的错误。

docker run -p 6080:80 -p 5900:5900 -e RESOLUTION=2560x1440 --name $(whoami) -v /dev/shm:/dev/shm -v vitis:/vitis_projects vitis
docker: Error response from daemon: error while mounting volume '/data/docker/1214112.1214112/volumes/vitis/_data': failed to mount local volume: mount /dev/sda1:/data/docker/1214112.1214112/volumes/vitis/_data: no such device.
ERRO[0000] error waiting for container: context canceled

您能帮助我找出问题的根源并解决它吗?

答案1

这通常会导致/dev/sda1两者同时安装/data,并且/data/docker/.../_data如果它能起作用的话。

docker volume create vitis一旦守护进程正确配置并且设备安装在 上/data,一个简单的就足够了,这显然不是您想要的。

编辑:添加--opt size=750G将创建一个卷,但实际上不会执行任何操作(size据我所知,这是一个仅适用于 tmpfs 的通用选项)。如果您想设置配额,则需要单独设置配额。

相关内容