2016-11-27 19 views
4

official Mongo dockerfileを使用してデータベースを起動しようとしていますが、-vコマンドを使用してローカルディレクトリをコンテナ内の/ dataにマップしています。Dockerコンテナ内でchownを呼び出せません(Windows用Docker)

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 

私はここで間違ってやっている何dockerfileの一環として、それがユーザーにMongoDBにchownコマンドにこのディレクトリを試みる

?私は、この周りに任意のドキュメントを見つけることができません - それは明示的にドッカrunコマンドに渡されたとして、確かに、コンテナは、マップされたディレクトリへのフルアクセス権を持っている必要があります。

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

Dockerfile RUN文に表示されるコマンドは、「ドッカー実行」が発生した時点では実行されません。 Dockerfile RUN文は、イメージ作成中に 'docker build'コマンドが実行されたときに発生します。 – 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が追加されます:

WARNINGを:MongoDBのメモリを使用するので、あなたのホスト(vbox bug)にvboxsfを通してそれを使用することはできませんファイルをマッピングされました。

VirtualBoxの共有フォルダは、MongoDBdocs.mongodb.orgおよび関連するjira.mongodb.orgのバグを参照)ではサポートされていません。

これは、Docker Toolboxを使用したデフォルトの設定では、データディレクトリをホストにマップしてMongoDBコンテナを実行できないことを意味します。

+0

あなたの包括的な答えをいただきありがとうございます。 – James

関連する問題