4

我已经在数据实验室机器上安装了 gcsfuse。创建了一个目标机器并使用 chmod 来允许所有调用的写入权限:

!gcsfuse --foreground --debug_fuse archs4 /content/datalab/mount/

我收到以下错误:

Opening bucket...
Mounting file system...
mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1

stderr:
fusermount: fuse device not found, try 'modprobe fuse' first

知道什么可以解决这个问题吗?(我正在使用:gcsfuse 版本 0.23.0(Go 版本 go1.9))

非常感谢,艾拉

4

1 回答 1

4

要让任何 FUSE 文件系统在 Docker 容器中工作,您需要以特权模式运行容器。如果你不想这样做,至少你需要在启动容器时设置这些标志:

--security-opt apparmor:unconfined --cap-add mknod --cap-add sys_admin --device=/dev/<fuse_device> -v /mnt/<mnt_point>:/mnt/<mnt_point>:shared

您正在使用的 FUSE 驱动器的名称在哪里fuse_device(例如 gcsfuse),并且mnt_point是您安装它的路径。

请记住,Datalab 不会以更多特权运行或默认使用这些标志,因此如果您使用 CLI 工具(datalab create命令)运行 Datalab,这将不起作用。

于 2018-01-24T04:48:11.040 回答