2016-07-04 3 views
1

とMongoDBのディレクトリのボリュームをマウントすることはできません。私はmongoシェルでありmongoimport --db stats --colletion pokemon --file stats.jsonを実行しているし、データを確認することができますので、このディレクトリは私のデータで満たされている知っています。また、私はdocker-compose upを実行するとエラーが発生しないは私が<code>./pokemondb</code>である私のMongoDBのデータを格納し、別のローカルディレクトリを持っている私のメインのプロジェクトディレクトリにドッキングウィンドウ・コン

pokemon-app: 
    build: . 
    ports: 
    - "3000:3000" 
    links: 
    - mongo 

mongo: 
    image: mongo:3.2.4 
    ports: 
    - "27017:27017" 
    volumes: 
    - "./pokemondb:/data/db" 

次のようになりますドッカ-コンファイルを持っています。しかし、問題は、mongodbディレクトリ /data/dbに、私が渡そうとしたマウントされたボリュームが含まれていないことです。私は、データが docker exec -ti [mongo container id] bashを実行し、 mongoシェルと /data/dbディレクトリをチェックして、正しく渡されていなかったことを確認することができ、実際には何もありません。何が間違っているのですか、mongodbのデータディレクトリにボリュームが正しくマウントされていないのはなぜですか?

EDIT:私は私の問題への予期しない解決策を見つけました。私の問題の1つは、私がドッカーのボリュームが何であるかについての基本的な誤解があったということでした。以前は、ドッカーボリュームは、起動時にローカルマシンのデータをドッカーコンテナにコピーすることを意図していました。しかし実際、ドッカーボリュームは、ドッカーコンテナで生成されたローカルマシン上のデータを保存することを意図しています。解決策は、私が上記尋ねた元の問題は、コンテナの起動時に画像にコピーデータは、データベースにデータをインポートdockerfileを作成することでした。私の最後のドッカーの作成ファイルはこのように見えます。

app: 
    build: . 
    ports: 
    - 3000:3000 
    links: 
    - mongodb 

mongodb: 
    image: mongo:3.2.4 
    ports: 
    - 27017:27017 

stats: 
    build: ./stats 
    links: 
    - mongodb 
+0

あなたは。/ pokemondb'フォルダ 'で存在していたファイルをチェックしましたか?あなたはmongoシェルを使ってexsitedデータを確認します。 –

+0

あなたはどんなOSを使っていますか?あなたのシステムでSELinuxが動作していますか? – Fares

+0

@ThanhNguyenVanはい、データはローカルにあります。私はすでに 'mongo'シェルでチェックしています。 @Fares私はOSX Yosemiteを実行しています –

答えて

0

Docker Toolbox for OSXを使用している場合は、ホームディレクトリだけがVMで使用できます。ホームディレクトリの外にいる場合は、別の共有ボリュームをVirtualbox VMに追加するか、プロジェクトをホームディレクトリの下に移動する必要があります。

+0

ホームディレクトリ外のディレクトリドッカーのボリュームに取り付けられますか? –

+0

申し訳ありませんが、私はホームディレクトリ以外のものはマウントできないと言っています。ファイルがdockerが動作しているVMには表示されないからです。 – dnephin

関連する問題