5

我正在尝试使用官方的 Mongo dockerfile来启动数据库,我正在使用-v命令将本地目录映射到/data容器内部。

作为 的一部分Dockerfile,它尝试将此目录 chown 给用户 mongodb:

RUN mkdir -p /data/db /data/configdb \
    && chown -R mongodb:mongodb /data/db /data/configdb
VOLUME /data/db /data/configdb

但是,使用以下命令失败:

chown: changing ownership of '/data/db': Permission denied

我在这里做错了什么?我找不到任何有关此的文档 - 当然容器应该对映射目录具有完全权限,因为它是在 docker run 命令中显式传递的:

docker run -d --name mongocontainer -v R:\mongodata:/data/db -p 3000:27017 mongo:latest
4

1 回答 1

1

您有类似的问题,说明mongo 问题 68问题 74中的相同错误消息

主机卷目录不能位于/Users(或~)下。尝试:

docker run --name mongo -p 27017:27017 -v /var/lib/boot2docker/my-mongodb-data/:/data/db -d mongo --storageEngine wiredTiger

PR 470增加了:

警告:由于 MongoDB 使用内存映射文件,因此无法通过 vboxsf 将其用于您的主机(vbox 错误)。

MongoDB 不支持 VirtualBox 共享文件夹(请参阅docs.mongodb.org和相关的 jira.mongodb.org错误)。

这意味着使用 Docker Toolbox 的默认设置无法运行将数据目录映射到主机的 MongoDB 容器。

于 2016-11-28T05:30:25.300 回答