2016-03-22 19 views
0

私はコンテナを起動するMySQLイメージを持っています。 コンテナが作成されるたびに、dbsをセットアップし、sql-dumpファイルをインポートし、ユーザーを作成します。既存のデータを含むDockerボリュームを作成する

私がコンテナを操作するとき、私はMySQLに格納されているさまざまなデータを作成します。

これらの余分なデータをデータボリュームコンテナ[DVC]に保存して、同僚にDVCを渡して停止した場所から続けることができます。

彼はまた、MySQLコンテナを起動し、最初の手順が最初から繰り返されることです。

私が読んでてきたように、私はDVCから[--volumes-from]巻[/etc/mysql/var/lib/mysql]をマウントする場合、既存のデータがカバーされると読めません。

既にデータが入っているディレクトリでボリュームを使用することはできますか?

答えて

1

短い答えはいいえですが、あなたのコンテナで間違った道を歩いてしまったためです。

あなたの画像には、に静的データが含まれないようにしてください。静的なものはイメージに保持し、動的なものはデータコンテナに保持します。 (そしてそれを必要とするものを動的に評価する起動スクリプト)

docker cpを使用して、ファイルをデータコンテナに展開するか、パススルーするだけでローカルファイルシステムをマウントし、新しいマウントポイントにマウントすることができます。再インストールする前にtar/rsyncdocker execを使用してください。実際はデータを常にデータコンテナを使用して再構築することをお勧めします。

+0

私は何かを作成する前にボリュームコンテナをマウントして、すべてのデータ[初期および新規]がデータコンテナに常駐するように、イメージを再構成できると思います。それから私はDVCを共有することができ、他の誰かが私がどこで止まったのかを知ることができます。私は、新しいDVCを使用するのか既存のDVCを使用するのかは、ドッカー作成ファイルを使用するときは決定の問題になると考えています。正しい? –

+0

はい。それはそれをするだろう。 – Sobrique

関連する問題