2017-04-08 4 views
0

ドッカーハブからmysqlベースイメージを取り出し、そのイメージからコンテナを実行し、そのコンテナ内にデータベースといくつかのテーブルを作成し、新しいイメージに変更をコミットしました。しかし、新しいイメージのコンテナを実行すると、作成したデータベースはありません。これを達成する方法は?私はマウントされたボリュームを使用したくないのです。私は、このコンテナを私のアプリケーションの別のコンテナにリンクして、インセットしてdbに更新できるようにしたいからです。Mysqlドッカーのコンテナでデータを新しいイメージに変換した後、データが失われますか?

答えて

0

以下のコマンドをしている私は、あなたが使っているどの画像か分からないが、私はofficial mysql imagesのすべてのDockerfileを信じる:すべてのMySQLのデータを意味

VOLUME /var/lib/mysql 

はボリュームになります。 docker volume docsから、彼らは特別なことを述べた:

> Changes to a data volume will not be included when you update an image. 

をそして、これはあなたが新たに起動されたコンテナにデータを損失根本的な原因です。あなたの質問のために

どのようにこれを達成するには?

あなたは、オプション--volumes-fromでmysqlのコンテナを実行し、使用するかmounted volumes、またはdata volume containerを作成することができます。前のリンクには、それを行う方法のステップバイステップのガイドが含まれています。

私はそれは私が他のかわからないのイラストやDB

に更新できるように、自分のアプリケーションの別の容器で、このコンテナをリンクしたいので、私はマウントされたボリュームを使用したくありませんマウントされたボリュームについて懸念していますが、私が知る限り、マウントされたボリュームを使用しても、コンテナをリンクすることはできません。

希望すると、これが役立ちます。

関連する問題