さて、Docker Registry を立てたは良いものの、マシンが壊れたりすると悲しい事態になります。
Build 元と Registry で二重になってはいるのですが、両方が同じマシンだと悲しい事態が発生する可能性がありますね。
と、いうことで Build した Docker の Image をファイルに書き出したり、そのファイルからイメージを復元します。
環境
- OS: CentOS Linux release 7.4.1708 (Core)
- Docker: version 1.13.1, build 774336d/1.13.1
- Kernel: 3.10.0-693.5.2.el7.x86_64
Docker Image をファイルへバックアップする
Docker そのものはファイル群を /var/lib/docker の下に持ってます。
Image は default だと overlay2 で作成されます。
overlay2 は差分でファイルを管理するファイルシステムなので、そういったメタ情報もバックアップしないといけない。
つまりは cp とか rsync だと事故る可能性があります。
さて、何を使うのが正しいかと言えば公式です。具体的には docker save コマンド。
Image を構成する全レイヤをきちんと tar に書き出してくれます。
実行例として、hogehoge Image をバックアップするのはこんな感じ。
- $ docker image save hogehoge > backup.tar
この tar をバックアップ先 HDD 等に持っていけば良い。
Docker Image をファイルから復元する
バックアップする方法は分かりました。
次はバックアップからの復元。
docker load コマンドを使います。具体的には
- $ docker image load < backup.tar
で終わり。
Image の repository name や tag も tar に入っているので、それらの情報も全部復元されます。楽。
0 件のコメント:
コメントを投稿