Dockerは、コンテナ、ボリューム、およびイメージを/var
の下の大きなファイルのコレクションに格納します。これは、増分バックアップを行うのに最適な方法ではありません。
Bareosを使用すると、 MySQLデータベースのバックアップでも同じ問題があります であり、bpipeで実行できることを理解しています。
同じマシンまたは別のマシンに簡単に復元できるように、どのようにDockerコンテナー(およびイメージですが、別の解決策があります*)をバックアップできますか?
*( docker registry もあります。これにより、リモートリポジトリにPush
イメージを作成できます。これは、バックアップのように機能しますが、バックアップの考え方はありません。コンテナやボリュームではなく、イメージ。)
画像の場合、これを行う1つの方法は、Dockerが提供する save コマンドを使用することです。実行すると:$ docker save --output output_filename.tar your_image
、Dockerは指定されたイメージを現在のディレクトリ内のtarファイルに保存します。その後、このイメージを保存したり、別のマシンに移動したりできます。
コンテナーの場合、 export コマンドを使用できます。これにより、contianerのファイルシステムがtarファイルに保存されます。これを実行するには、docker export --output="output_filename.tar" your_container
を実行します。
イメージを使用する場合は、 load コマンドを使用してtarファイルをインポートできます。これを実行するには、$ docker load --input your_image.tar
を実行します。