Mounting rclone Mount in Docker (on Windows) - No Recognized File System

What is the problem you are having with rclone?

When I attempt to mount my existing rclone mount in Docker I get:

docker: Error response from daemon: The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.
See 'docker run --help'.

Otherwise my rclone mount works fine in Windows and I am able to mount my regular drives and folders just fine without error in Docker.

I assume this is more a Docker issue than an rclone issue but figured it wouldn't hurt to ask about it here. I did do a search and found some slightly relevant info but much of it I didn't fully understand.

What is your rclone version (output from rclone version)

rclone v1.53.4
- os/arch: windows/amd64
- go version: go1.15.6

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Windows 10 Pro 64 bit.
Version 20H2 Build 19042.746.

Which cloud storage system are you using? (eg Google Drive)

None. Local remotes in a union.

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone:

rclone mount Data_Pool: z: --cache-dir a:\rclone_Cache\ --vfs-cache-mode full --vfs-cache-max-age 120s --vfs-cache-max-size 5G --dir-cache-time 120s

Docker:

docker run -d -p 8081:80 -v z:/NextCloud:/NextCloud nextcloud

The rclone config contents with secrets removed.

[Data_Pool]
type = union
upstreams = d:\SnapRAID_Pool\rclone_Pool\ e:\SnapRAID_Pool\rclone_Pool\ f:\SnapRAID_Pool\rclone_Pool\ g:\SnapRAID_Pool\rclone_Pool\ h:\SnapRAID_Pool\rclone_Pool\ i:\SnapRAID_Pool\rclone_Pool\ j:\SnapRAID_Pool\rclone_Pool\ k:\SnapRAID_Pool\rclone_Pool\ l:\SnapRAID_Pool\rclone_Pool\ m:\SnapRAID_Pool\rclone_Pool\
create_policy = lus
search_policy = newest
cache_time = 1

A log from the command with the -vv flag

2021/02/28 15:44:31 DEBUG : rclone: Version "v1.53.4" starting with parameters ["rclone" "mount" "Data_Pool:" "z:" "--cache-dir" "a:\\rclone_Cache\\" "--vfs-cache-mode" "full" "--vfs-cache-max-age" "120s" "--vfs-cache-max-size" "5G" "--dir-cache-time" "120s" "-vv" "--log-file=log.txt"]
2021/02/28 15:44:31 DEBUG : Creating backend with remote "Data_Pool:"
2021/02/28 15:44:31 DEBUG : Using config file from "C:\\Users\\Jon\\.config\\rclone\\rclone.conf"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "m:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "g:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "e:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "m:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/m:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "m:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "f:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "j:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "m:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/m:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "g:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/g:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "g:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "j:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/j:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "j:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "f:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/f:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "f:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "g:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/g:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "k:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "i:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "h:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "j:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/j:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "l:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "f:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/f:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "d:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "l:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/l:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "l:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "l:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/l:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "e:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/e:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "e:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "d:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/d:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "d:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "e:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/e:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "d:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/d:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "k:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/k:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "k:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "h:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/h:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "h:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "k:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/k:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "i:/SnapRAID_Pool/rclone_Pool/" to be canonical "//?/i:/SnapRAID_Pool/rclone_Pool/"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "i:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "h:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/h:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "i:/SnapRAID_Pool/rclone_Pool" to be canonical "//?/i:/SnapRAID_Pool/rclone_Pool"
2021/02/28 15:44:31 DEBUG : union root '': actionPolicy = *policy.EpAll, createPolicy = *policy.Lus, searchPolicy = *policy.Newest
2021/02/28 15:44:31 INFO  : union root '': poll-interval is not supported by this remote
2021/02/28 15:44:31 DEBUG : vfs cache: root is "\\\\?\\a:\\rclone_Cache\\vfs\\Data_Pool"
2021/02/28 15:44:31 DEBUG : vfs cache: metadata root is "\\\\?\\a:\\rclone_Cache\\vfs\\Data_Pool"
2021/02/28 15:44:31 DEBUG : Creating backend with remote "\\\\?\\a:\\rclone_Cache\\vfs\\Data_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: renaming cache item "\\\\?\\a:\\rclone_Cache\\vfs\\Data_Pool" to be canonical "//?/a:/rclone_Cache/vfs/Data_Pool"
2021/02/28 15:44:31 DEBUG : fs cache: switching user supplied name "\\\\?\\a:\\rclone_Cache\\vfs\\Data_Pool" for canonical name "//?/a:/rclone_Cache/vfs/Data_Pool"
2021/02/28 15:44:31 DEBUG : union root '': Mounting on "z:"
2021/02/28 15:44:31 DEBUG : union root '': Mounting with options: ["-o" "fsname=Data_Pool:" "-o" "subtype=rclone" "-o" "max_readahead=131072" "-o" "attr_timeout=1" "-o" "atomic_o_trunc" "-o" "uid=-1" "-o" "gid=-1" "--FileSystemName=rclone" "-o" "volname=Data_Pool"]
2021/02/28 15:44:31 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2021/02/28 15:44:31 DEBUG : union root '': Init: 
2021/02/28 15:44:31 DEBUG : union root '': >Init: 
2021/02/28 15:44:31 DEBUG : /: Statfs: 
2021/02/28 15:44:31 DEBUG : /: >Statfs: stat={Bsize:4096 Frsize:4096 Blocks:2685860086 Bfree:1772477508 Bavail:1772477508 Files:1000000000 Ffree:1000000000 Favail:0 Fsid:0 Flag:0 Namemax:255}, errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Readlink: 
2021/02/28 15:44:31 DEBUG : /: >Readlink: linkPath="", errc=-40
The service rclone has been started.
2021/02/28 15:44:31 DEBUG : /: Statfs: 
2021/02/28 15:44:31 DEBUG : /: >Statfs: stat={Bsize:4096 Frsize:4096 Blocks:2685860086 Bfree:1772477508 Bavail:1772477508 Files:1000000000 Ffree:1000000000 Favail:0 Fsid:0 Flag:0 Namemax:255}, errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Opendir: 
2021/02/28 15:44:31 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:31 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2021/02/28 15:44:31 DEBUG : /: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:31 DEBUG : /: Releasedir: fh=0x0
2021/02/28 15:44:31 DEBUG : /: >Releasedir: errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Opendir: 
2021/02/28 15:44:31 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:31 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2021/02/28 15:44:31 DEBUG : /: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:31 DEBUG : /: Releasedir: fh=0x0
2021/02/28 15:44:31 DEBUG : /: >Releasedir: errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:31 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:31 DEBUG : /: Opendir: 
2021/02/28 15:44:31 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:31 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2021/02/28 15:44:31 DEBUG : /: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:31 DEBUG : /: Releasedir: fh=0x0
2021/02/28 15:44:31 DEBUG : /: >Releasedir: errc=0
2021/02/28 15:44:34 DEBUG : /autorun.inf: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /autorun.inf: >Getattr: errc=-2
2021/02/28 15:44:34 DEBUG : /autorun.inf: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /autorun.inf: >Getattr: errc=-2
2021/02/28 15:44:34 DEBUG : /autorun.inf: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /autorun.inf: >Getattr: errc=-2
2021/02/28 15:44:34 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:34 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /: >Getattr: errc=0
2021/02/28 15:44:34 DEBUG : /: Opendir: 
2021/02/28 15:44:34 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:34 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2021/02/28 15:44:34 DEBUG : /: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:34 DEBUG : /: Releasedir: fh=0x0
2021/02/28 15:44:34 DEBUG : /: >Releasedir: errc=0
2021/02/28 15:44:34 DEBUG : /AutoRun.inf: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:34 DEBUG : /AutoRun.inf: >Getattr: errc=-2
2021/02/28 15:44:39 DEBUG : /NextCloud: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:39 DEBUG : /NextCloud: >Getattr: errc=0
2021/02/28 15:44:39 DEBUG : /NextCloud: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:39 DEBUG : /NextCloud: >Getattr: errc=0
2021/02/28 15:44:39 DEBUG : /NextCloud: Opendir: 
2021/02/28 15:44:39 DEBUG : /NextCloud: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:39 DEBUG : /NextCloud: >OpenFile: fd=NextCloud/ (r), err=<nil>
2021/02/28 15:44:39 DEBUG : /NextCloud: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:39 DEBUG : /NextCloud: Releasedir: fh=0x0
2021/02/28 15:44:39 DEBUG : /NextCloud: >Releasedir: errc=0
2021/02/28 15:44:39 DEBUG : /NextCloud: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:39 DEBUG : /NextCloud: >Getattr: errc=0
2021/02/28 15:44:39 DEBUG : /NextCloud: Getattr: fh=0xFFFFFFFFFFFFFFFF
2021/02/28 15:44:39 DEBUG : /NextCloud: >Getattr: errc=0
2021/02/28 15:44:39 DEBUG : /NextCloud: Opendir: 
2021/02/28 15:44:39 DEBUG : /NextCloud: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2021/02/28 15:44:39 DEBUG : /NextCloud: >OpenFile: fd=NextCloud/ (r), err=<nil>
2021/02/28 15:44:39 DEBUG : /NextCloud: >Opendir: errc=0, fh=0x0
2021/02/28 15:44:39 DEBUG : /NextCloud: Releasedir: fh=0x0
2021/02/28 15:44:39 DEBUG : /NextCloud: >Releasedir: errc=0
The service rclone has been stopped.
2021/02/28 15:44:44 DEBUG : union root '': Destroy: 
2021/02/28 15:44:44 DEBUG : union root '': >Destroy: 
2021/02/28 15:44:44 DEBUG : Calling host.Unmount
2021/02/28 15:44:44 DEBUG : vfs cache: cleaner exiting
2021/02/28 15:44:44 DEBUG : host.Unmount failed
2021/02/28 15:44:44 DEBUG : rclone: Version "v1.53.4" finishing with parameters ["rclone" "mount" "Data_Pool:" "z:" "--cache-dir" "a:\\rclone_Cache\\" "--vfs-cache-mode" "full" "--vfs-cache-max-age" "120s" "--vfs-cache-max-size" "5G" "--dir-cache-time" "120s" "-vv" "--log-file=log.txt"]

Is this the command that produces the error?

docker: Error response from daemon: The volume does not contain a recognized file system.

Maybe it just doesn't support FUSE based file systems?

Also are you sure that syntax is right? Won't docker get confused about the : in z:/Nextcloud/?

this might work

  1. run rclone mount as system user
  2. mount to a folder, not to a drive letter
  3. net share that mount. that will give you a NTFS file system
  4. use that net share with docker

Is this the command that produces the error?

Yes.

Maybe it just doesn't support FUSE based file systems?

Very possible. This is literally my first time ever touching Docker.

Also are you sure that syntax is right? Won't docker get confused about the : in z:/Nextcloud/?

It is. Somehow it does not get confused. If I use a folder that is not in an rclone mount it works fine.

Like as administrator? I did try running the mount command as admin but it seemed to cause issues. Drive letter wouldn't show up in My Computer, shortcut was supposed to run in my rclone folder but kept saying it couldn't find rclone, etc. But I can troubleshoot that and work on it.

I am not familiar with these. Got a link or something? I will investigate. I did try mounting to a folder instead of drive letter but I got the same error message. I also noticed when I mounted to a folder the folder icon has the shortcut icon displayed on it which was a little odd.

I guess my folder names give away what I am trying to use Docker for. :slight_smile: I'd probably avoid a lot of issues if I just switched to Linux...

not a user with administrative privileges; as the user named system.
which can be done with task scheduler, nssm or psexec

i have posted about that, many times.
when i have time, i will try to search for them

mounting to a folder will not fix the problem, but makes it easier to work with
in fact, i think that if you rclone mount to a folder, run with admin privileges from an elevated command line/batch file, you might not need to rclone mount as system user. i think that is a work around.

i am sure there must be a work around on windows, microsoft wants docker to work.
might try //?/b:/mount/rcloner/data_wasabi
or if you try the my net share suggestion, you can try \\localhost\data
you might try to use

run docker on WSL2

Ok so I used this in an admin CMD prompt:

rclone mount Data_Pool: c:\test --cache-dir a:\rclone_Cache\ --vfs-cache-mode full --vfs-cache-max-age 120s --vfs-cache-max-size 5G --dir-cache-time 120s

And this (used abcd as the mount point in Docker in case having both named test was causing the error, it was not):

docker run -d -p 8081:80 -v c:/test:/abcd nextcloud

I got this:

898b12708699b24e6f427bdb8c3dc10cb4433c7766e56846c931c67b0824b5d3
docker: Error response from daemon: error while creating mount source path '/run/desktop/mnt/host/c/test': mkdir /run/desktop/mnt/host/c/test: file exists.

Also, net share isn't working out for me.

net share rclonepool=c:\test
System error 32 has occurred.

The process cannot access the file because it is being used by another process.

Then:

docker run -d -p 8081:80 -v c:/test/test:/abcd nextcloud
docker: Error response from daemon: The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.
See 'docker run --help'.

I also tried using --network-mode in my rclone mount to see if that would change anything. I get an error that it is not a recognized option when I use that.

Should the --network-mode option work or has it been discontinued?

  • update rclone - rclone version --check
  • make sure to update winfsp to latest stable.
  • post the exact command that failed with the output.
1 Like

Ok I'll get that. Is it a new option? All my programs were new as of just a couple months ago. Less for rclone.

can you post the exact command that failed with the output?

Command:

rclone mount Data_Pool: z: --network-mode --cache-dir a:\rclone_Cache\ --vfs-cache-mode full --vfs-cache-max-age 120s --vfs-cache-max-size 5G --dir-cache-time 120s

Output:

Error: Unknown flag: --network-mode

I am running version 1.53.4. I will try 1.54.1.

Looks like it is a new option. Upgraded resolved that issue. Thanks!

Back to experimenting with Docker now. :slight_smile:

Well using Network Mode allowed Docker to mount without error but strangely it doesn't seem to actually be mounted properly because any files in the directory that show in Windows do not show in Docker and if I create files and folders in Docker the changes don't reflect in Windows. But it's probably a Docker issue at this point rather than rclone... hard to say.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.