无法在Docker容器内调用chown(Docker for Windows)

我正在尝试使用官方的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 

你有类似的问题,说明在mongo问题68或问题74相同的错误信息

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

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

公关470增加:

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

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

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