Trung
Trung

Reputation: 1392

Mongo docker with volume get error

After running docker run --name mongo -p 27017:27017 -v ~/Documents/store/mongo/:/data/db -d mongo --smallfiles

[initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

In store directory, ls -l

drwxr-xr-x  4 MeoBeoI  staff  136 Dec  8 17:11 mongo
drwxr-xr-x  2 MeoBeoI  staff   68 Dec  9 10:20 redis

I use OSX 10.11.1

Upvotes: 1

Views: 1881

Answers (1)

VonC
VonC

Reputation: 1330102

Looking at the mongo Dockerfile:

So try and make sure to start your container with that user:

docker run --user mongodb ...

If that is not working, then fallback to the original docker run command (which runs as root by default) and define run.sh (that needs to be copied in your own image) which will:

  • do the right chown -R mongodb:mongodb /data/db
  • call entrypoint.sh mongod

That is:

docker run ... run.sh

That would be an approach similar to issue 7198 (Make uid & gid configurable for shared volumes).

Upvotes: 1

Related Questions