问题
I have installed gcsfuse on a datalab machine. Created a target machine and used chmod to allow writing permission to all calling:
!gcsfuse --foreground --debug_fuse archs4 /content/datalab/mount/
I am getting the following error:
Opening bucket...
Mounting file system...
mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1
stderr:
fusermount: fuse device not found, try 'modprobe fuse' first
any idea what might solve that issue? (I am using: gcsfuse version 0.23.0 (Go version go1.9))
Thanks a lot, Eila
回答1:
For any FUSE file system to work in a Docker container, you'll need to run the container in privileged mode. If you don't want to do this, at least you'll need these flags set when starting the container:
--security-opt apparmor:unconfined --cap-add mknod --cap-add sys_admin --device=/dev/<fuse_device> -v /mnt/<mnt_point>:/mnt/<mnt_point>:shared
Where fuse_device
is the name of the FUSE drive you're using (for example gcsfuse), and mnt_point
is the path you're mounting it at.
Keep in mind that Datalab doesn't run in privileged more or use these flags by default, so if you're running Datalab using the CLI tool (datalab create
command), this won't work.
来源:https://stackoverflow.com/questions/48407184/gcsfuse-on-datalab-vm-machine-error-fusermount-fuse-device-not-found-try-mo