蒙戈docker与卷获取错误

在运行docker run --name mongo -p 27017:27017 -v ~/Documents/store/mongo/:/data/db -d mongo --smallfiles

initAndListen中的[initandlisten]exception:98无法创build/打开locking文件:/data/db/mongod.lock errno:13 Permission denied mongod实例是否已经在运行?

商店目录中, 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 

我使用OSX 10.11.1

看着mongo Dockerfile :

  • 用户mongodb被创build
  • / data / db是为mongodb:mongodb创build和保护的

因此,请尝试确保使用该用户启动您的容器:

 docker run --user mongodb ... 

如果这不起作用,那么回退到原来的docker run命令(默认以root身份运行)并定义run.sh (需要复制到自己的映像中):

  • 做正确的chown -R mongodb:mongodb /data/db
  • 调用entrypoint.sh mongod

那是:

 docker run ... run.sh 

这将是类似于问题7198(使uid&gid可configuration为共享卷)的方法 。