eilalan
eilalan

Reputation: 689

gcsfuse on datalab vm machine. Error: fusermount: fuse device not found, try 'modprobe fuse' first

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

Upvotes: 4

Views: 4626

Answers (1)

yelsayed
yelsayed

Reputation: 5532

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.

Upvotes: 4

Related Questions