2017-08-11 9 views
0

ドッカーとドッカーが作成する新機能の1つは、mongoデータベースに依存しているいくつかのサービスを開始する作成ファイルです。しばらく前にmongoイメージをダウンロードし、コンテナにデータをロードしました。私がdocker-composeを介してmongoインスタンスを起動すると、空のイメージに基づいて新しいコンテナが開始されるので、データを取得しないでください。既存のコンテナからのボリュームを使用してドッカーを作成する

既存のコンテナからデータを使用するように構成しようとする試みとして、ボリュームについて読んだことがあります。今ではいくつかの順列を試してみて、データを見つけることができません。

私はデータの入った容器を開始し、私が得る検査ないとき:

"Mounts": [ 
     { 
      "Type": "volume", 
      "Name": "3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e", 
      "Source": "/var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data", 
      "Destination": "/data/configdb", 
      "Driver": "local", 
      "Mode": "", 
      "RW": true, 
      "Propagation": "" 
     }, 
     { 
      "Type": "volume", 
      "Name": "d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c", 
      "Source": "/var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data", 
      "Destination": "/data/db", 
      "Driver": "local", 
      "Mode": "", 
      "RW": true, 
      "Propagation": "" 
     } 
    ], 

だから私は右の私が何とかボリュームタグを使用して、これらのマウントポイントを使用する新しいコンテナを取得する必要がありますと言っにいますか?

みました:

volumes: 
    - type: volume 
    source: /var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data 
    target: /data/configdb 
    volume: 
     nocopy: true 

    - type: volume 
    source: /var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data 
    target: /data/db 
    volume: 
     nocopy: true 

と:

volumes: 
    - /data/configdb:/var/lib/docker/volumes/3f78b88e3e06f31d5f65a45bb1cb964245551875218d065162625cc73e662b1e/_data 
    - /data/db:/var/lib/docker/volumes/d3f89470c9f8c53b55c30338f691eb1586600343004c502feffe8f81091d7d5c/_data 

しかし、私はexisitingデータを使用するためにやるべきこと何の例では、任意のヘルプははるかになり、ストローで正直把持されることを感謝。

あなたは+作曲ファイル形式バージョン3.0を使用していると仮定すると、ローレンス

答えて

0

は、あなたのボリュームの定義でbindtypeオプションを変更してみてください。違いは、volumeタイプの場合、提供される場合、sourceは名前付きボリュームの名前を参照します。 bindの場合、sourceは、Dockerデーモンホスト上のファイルまたはディレクトリへのパスを指します。

Docker documentationでは、さまざまな種類のマウントについて詳しく読むことができます。

0

次試してみてください:

  • 殺すデータ・ベースを作成し、ボリュームdocker run -d -v data_storage:/data/db --name mongoding mongo

    1. がドッキングウィンドウで名前のボリュームを作成しますvolume create data_storage
    2. スタートモンゴを、コレクションにいくつかのドキュメントを追加それを確認するために新しいものを開始してください。

      ドッカーコンテナが検査708bf6fe0a5b

      "Mounts": [ 
          { 
           "Type": "volume", 
           "Name": "data_storage", 
           "Source": "/var/lib/docker/volumes/data_storage/_data", 
           "Destination": "/data/db", 
           "Driver": "local", 
           "Mode": "z", 
           "RW": true, 
           "Propagation": "" 
          }, 
      

    Read more here

  • 関連する問題