2016-11-27 124 views
4

我正在嘗試使用official Mongo dockerfile來啓動數據庫,我使用-v命令將本地目錄映射到容器內的/ data。無法在Docker容器內調用chown(Docker for Windows)

由於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 -d --name mongocontainer -v R:\mongodata:/data/db -p 3000:27017 mongo:latest 
+2

出現在Dockerfile RUN語句中的命令不會在發生「docker run」時運行。當運行'docker build'命令時,Dockerfile RUN語句會在映像創建期間發生。 – programmerq

回答

1

你必須說明mongo issues 68或相同的錯誤消息類似的問題issue 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 bug)。

MongoDB不支持VirtualBox共享文件夾(請參閱docs.mongodb.org和相關的jira.mongodb.org錯誤)。

這意味着使用Docker Toolbox默認設置運行MongoDB容器並將數據目錄映射到主機是不可能的。

+0

瞭解 - 謝謝您的全面回答。 – James

相關問題