Starting mongo through docker on a Synology NAS

user1991179 picture user1991179 · Feb 13, 2016 · Viewed 8.6k times · Source

I'm new to containers and docker, so bear with me. I'm trying to get mongo up and running on a Synology NAS where the db files are stored in a share folder (different than the docker folder created). All users have full read/write access but the following error keeps coming up.

STORAGE [initandlisten] exception in initAndListen std ::exception:boost::filesystem::status: Permission denied: "/data/db/storage.bson", terminating

Mongo Error

This is how I have the container folder structure set up. I think the issue is a result of the virtual drive mapping, but I'm not sure. As always, any help would be greatly appreciated. Drive Mapping

EDIT: Adding the permissions for /share/data/db below.

Folder permissions

Answer

Szmeby picture Szmeby · Mar 25, 2020

Let me give a Synology-related answer if it is a Synology-related question. I have decided to play docker on my NAS and got trapped into the same problem. I do not really like giving permissions for everyone and I found a solution how to make mongo work via docker on a Synology NAS. I have added a Read/Write permission record for the Owner group in case of the shared folder on the host. The name of the folder is "mongo1" in my case (this one is mapped to the "/data/db" path inside the container).

It seems, mongo touches this directory and changes its owner during startup (UID changes to 999). This user doesn't exists on the host machine, but it doesn't matter anyway. Thanks to the newly set permission rule the bootup process can continue.

I hope it will help someone someday. Cheers! :)

Screenshot: adding Owner Read and Write permission