5

公式の Mongo dockerfileを使用してデータベースを起動しようとしています。コマンドを使用して、-vローカル ディレクトリを/dataコンテナー内にマップしています。

の一部として、Dockerfileこのディレクトリをユーザー mongodb に chown しようとします。

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 バグ)。

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

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

于 2016-11-28T05:30:25.300 に答える