【问题标题】:Mongo docker with volume get error带有卷的Mongo docker获取错误
【发布时间】:2016-03-14 08:15:32
【问题描述】:

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

[initandlisten] initAndListen 中的异常:98 无法创建/打开 锁定文件:/data/db/mongod.lock errno:13 Permission denied 是 mongod 实例已在运行?,正在终止

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

【问题讨论】:

  • /Documents/store/mongo/ 中是否有 mongod.lock 文件?如果是这样删除它并再次运行
  • 感谢@Sharah Nair,但它是空的。

标签: mongodb permissions docker


【解决方案1】:

看着mongo Dockerfile

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

docker run --user mongodb ...

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

  • 做正确的事chown -R mongodb:mongodb /data/db
  • 致电entrypoint.sh mongod

即:

docker run ... run.sh

这将是一种类似于issue 7198 (Make uid & gid configurable for shared volumes) 的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 2020-03-30
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多