2017-02-10 10 views
2

ドッカーを使用するのが好き&開発環境と本番環境の両方でドッカーを作成します。データベースドッカーの再構築や生産データの損失を防ぐ方法

しかし、私のワークフローで、私は使い捨てとして考慮ドッカーズを保つ:

それは私が私のドッキングウィンドウに機能を追加する必要がある場合、私はdocker-compose builddocker-compose up -dを実行して行われ、その後、私のDockerfileを編集意味。

しかし今回は、生産DBもDockerに入っています。

私はまだ(バックアップを設定する。例えば)私の環境ではいくつかの変更を加える必要があるが、これは、すべてのデータの損失を暗示するので、今、私はそれは私が入力する必要があることを意味... docker-compose buildを再実行することはできませんドッカー(docker-compose run web /bin/bash)と私のローカルDockerfileにそれらを報告しながら私の変更を追跡するためにその中のコマンドを実行してください。

この状況に関するベストプラクティスはありますか?

(私はドッカーが破壊ではない作りと考え

...私は、コンテナの破壊の前にS3バケットにDBをダンプうプロセスを設定すると思ったが、それは本当に広いのDBにスケールしませんどのように?)、それは容器の使い捨て性を失うことを意味する。

というデータを格納する特別なパーティションがあると思っていましたが、ドッキングを再構築すると破壊されることはありませんでしたが、セットアップやセキュリティ保護に問題はありません。

だから何ですか?

ありがとうございました

+0

私は唯一の方法は、データベースをドッキング用のコンテナにマウントすることだと考えています。データを外部に保存し、データベースコンテナを再構築すると、データが失われることはありません。 – Gabbax0r

答えて

2

これはデータボリュームです。これをカバーするドッカー文書サイトにwhole pageがあります。

コンテナを破棄すると、データボリュームはデータとともに保持され、再起動するとデータはどこにも保存されません。 しかし、ドッキング用のコンテナにデータベースを置くことは、というハードのです。人々はそれをして、重度のデータロスと重度の失業者を持っていました。

生産データをドッキング用のコンテナに信頼する前に、このトピックを幅広くお読みいただくことをお勧めします。 Thisはこれを行うことの危険を説明する素晴らしい記事です。

+0

あなたは私が今まで持っていたすべての懸念を正確に引き上げています。 :)私はこれを注意深く読んで、きれいな解決策を見つけますが、この場合、私はドッキングされたDBから脱出する選択肢がありません。 –

関連する問題