Mount a SSHFS volume into a Docker instance

I use SSHFS to mount a remote filesystem on my host and I want to be able to access it from inside a Docker container.

I mount the remote filesystem

sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) user@remote:directory /path/to/sshfs

And, using Docker, I get the following errors depending on me using --mount:

docker run  -it -v /path/to/sshfs:/target myimage bash
docker: Error response from daemon: error while creating mount source path '/path/to/sshfs': mkdir /path/to/sshfs: file exists.

or -v:

docker run -it  --mount src=/path/to/sshfs,target=/target,type=bind  myimage bash
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /path/to/sshfs.
See 'docker run --help'

Is it possible to mount a sshfs mountpoint into a container?


Solution 1:

Requires the following steps:

  1. uncomment user_allow_other in /etc/fuse.conf

  2. unmount the FUSE filesystem

  3. remount the FUSE filesystem with sshfs -o allow_other user@.... (making sure to include the -o allow_other option)

  4. try starting the container again