2017-02-09 4 views
0

私はDockerイメージ(dockerビルド/ db/dataへのコピー)として構築し、ドッカーハブにプッシュしたテストデータを持っています。データをdbコンテナにバインドする

そのデータを使用するdbインスタンスを実行したいとします。

私ができることを期待

:「ドッキングウィンドウの作成」およびイメージからコンテナを作成し、事実上それにデータをコピーしますでしょうボリューム(多分という名前のボリューム)にマッピング

  1. 実行ボリューム。
  2. "docker run"をvolume-fromで実行し、そのデータを最初のコンテナから2番目のコンテナにマッピングします。

私はそれを試してみましたが、2番目のディレクトリにはフォルダマッピングがありますが、データコンテナからあらかじめ設定されたデータには到達できません。

答えて

0

--volumes-fromは、「ボリューム」をドッカーコンテナから別のコンテナに追加します。あなたのデータが含まれている画像を作成した場合には

、あなたのデータが含まれていボリュームを作成していませんでし。

ドッカーは現在、次のサポートされています

  • ホスト・バインドは、バインドは、両方のサービスにマウントとしてそれがリストされているマウント
  • volumes_from別のサービス
  • 両方のサービスで使用されているというボリューム

    :例えば

あなたは以下を使用することができドッキングウィンドウのホスト上の/私/データにデータを持っている場合

sudo docker run -d --name firstcontainer -v /my/data:/db/data <image name> 
sudo docker run -d --name secondcontainer -v /my/data:/db/data <image name> 

名前付きのボリュームを使用する場合は、次の手順に従います。

  1. は過渡的コンテナに指定されたボリューム

    sudo docker volume create <volumename> 
    
  2. マウント、それを作成し、docker cp

    でそれにデータをコピーします
    sudo docker cp /path/to/your/file <containername>:/destination/path 
    
  3. 名前付きボリュームを複数のコンテナにマウントします。

    sudo docker run -d --name firstcontainer -v <volumename>:/db/data <image name> 
    sudo docker run -d --name secondcontainer -v <volumename>:/db/data <image name> 
    
+0

私の問題は、「過渡的なコンテナにそれをマウントして、ドッキングウィンドウのコピーと、それにあなたのデータをコピー」です。 のは、私は2つのラインでDockerfileあるとしましょう: ''スクラッチ COPYのA.TXT FROM/data'' とあなたはドッカー・ハブ内のfoo /グーイメージとしてそれを構築します。 名前付きボリューム 'my-volume'が作成されているとします。 ボリュームの中にa.txtを挿入するにはどうすればいいですか(例えば、単純なubuntuのコンテナ)がそれを使うことができます(cat a.txtなど)? – Ika

+0

は詳しい情報で答えを編集しました。 –

+0

あなたの答えから、私は自分自身を正しく説明していないかもしれません。手順2では、DockerHubからデータを取得し、にデータを取り込む方法を示します。 – Ika

関連する問題