私が最初に共有ボリュームオプションを使用していなかったコンテナ化されたMySQLデータベースを使用している場合、データを外部化するのが最も簡単な方法は何ですか?コンテナを変更して、指定したディレクトリのDockerホストとデータを共有する方法はありますか?MySQLコンテナから共有ボリュームにデータをバックアップするにはどうすればよいですか?
注:まだこの問題に問題がある場合は、コメントしてください。さらに改善することができます。
私が最初に共有ボリュームオプションを使用していなかったコンテナ化されたMySQLデータベースを使用している場合、データを外部化するのが最も簡単な方法は何ですか?コンテナを変更して、指定したディレクトリのDockerホストとデータを共有する方法はありますか?MySQLコンテナから共有ボリュームにデータをバックアップするにはどうすればよいですか?
注:まだこの問題に問題がある場合は、コメントしてください。さらに改善することができます。
オフィシャルドッカーのドキュメントは、overview on how to backup, restore, or migrate data volumesという素晴らしいドキュメントを提供しています。私の問題のために、特に、私がやった次
は、Ubuntuのを実行し、現在実行中のMySQLコンテナとボリュームを共有し、で説明したように(ローカルマシンでのデータベースのデータをバックアップする使い捨てドッカーコンテナを実行します概要):。
docker run --rm --volumes-from some-mysql -v /path/to/local/directory:backup ubuntu:15.10 tar cvf /backup/mysql.tar /var/lib/mysql
(公式のMySQLドッカーの画像は、データを格納するための/var/lib/mysql
を使用しています)
は、前のステップでは、ドッカーホストで/path/to/directory/mysql.tar
の作成になります。これは以下のように抽出できます:
tar -xvf mysql.tar
(cd /path/to/directory
と仮定します)。結果のディレクトリ(/var/lib/mysql
)は、同じインスタンスまたはコンテナ化されたMySQLの他のインスタンスとの共有ボリュームとして使用できるようになりました。
私は人々がこの質問が投票されている理由について詳しく説明したいと思います。 –
おそらく、「良い練習」という言葉は、誰か(私ではない)にインスピレーションを与えました。人々は "私は問題を抱えています。私はVを試みました、それは私にWを与えましたが、私はXが欲しいです。あなたのものはこのカテゴリーに属しません。 – PerlDuck
まあ、私は実際にその練習の価値について議論したくはありません。それはちょうどオープニング発言だった。しかし、それ以外では私はかなり客観的な質問をここで提起したと思います。 –