第12回 Docker環境のバックアップツール「Convoy」を試す:古賀政純の「攻めのITのためのDocker塾」(2/3 ページ)
前回はDocker環境のデータの管理に役立つ「Convoy」を紹介しました。今回は実際にConvoyを使ってどのようなことができるのかを解説します。
Convoyを使ってボリュームをバックアップしてみる
実際にコンテナを生成し、ボリュームのスナップショットの作成、バックアップの取得、リストアを体験してみましょう。まず、ボリュームvol01を持つDockerコンテナを起動します。
# docker run -itd -v vol01:/cdir01 --volume-driver=convoy --name test01 -h test01 centos:centos7.1.1503 /bin/bash
-vオプションで指定した「vol01:/cdir01」は、ボリュームvol01をコンテナ内の/cdir01ディレクトリに割り当てるという意味になります。Convoyを利用する場合は、--volume-driver=convoyが必要です。
コンテナtest01が起動したら、コンテナ内の/cdir01ディレクトリにテスト用のファイルtest.txtを作成します。今回ファイルの中身は、「Hello Convoy.」としました。スナップショットの挙動を理解するため、中身のテキストは、区別が付きやすく、簡潔で分かりやすい文章で記述しておいてください。
# docker exec -it test01 /bin/bash [root@test01 /]# echo "Hello Convoy." > /cdir01/test.txt [root@test01 /]# cat /cdir01/test.txt Hello Convoy. [root@test01 /]# exit #
コンテナ内の/cdir01ディレクトリにテスト用のファイルを作成したら、ボリュームvol01のスナップショットを取得します。ここでは、スナップショットの名前をsnap0001にします。
# convoy snapshot create vol01 --name snap0001
作成したスナップショットsnap0001から、ボリュームをホストOS上の/backupdirディレクトリにバックアップします。
# mkdir -p /backupdir # convoy backup create snap0001 --dest vfs:///backupdir/
以上でボリュームvol01のスナップショットsnap0001を使って、ホストOS上にバックアップが取得できました。
バックアップ済みボリュームを再利用する
バックアップしたボリュームvol01を使って、新たにコンテナtest02を起動します。
# docker run -itd -v vol01:/cdir01 --volume-driver=convoy --name test02 -h test02 centos:centos7.1.1503 /bin/bash
コンテナtest02において、ボリュームvol01に関連付けられた/cdir01ディレクトリ内のテスト用のファイルtest.txtの中身を確認します。
# docker exec -it test02 /bin/bash [root@test02 /]# cat /cdir01/test.txt Hello Convoy. [root@test02 /]#
コンテナtest02でも、問題なくボリュームを利用できることがわかります。
スナップショットの作成
コンテナtest02において、ボリューム内に保存されているファイルの中身を「Hello Docker.」に上書きします。
[root@test02 /]# echo "Hello Docker." > /cdir01/test.txt [root@test02 /]# exit #
test.txtの中身を上書き後、ボリュームvol01のスナップショットを再び作成します。ここでは、スナップショットの名前をsnap0002にします。
# convoy snapshot create vol01 --name snap0002
作成したスナップショットsnap0002から、ボリュームをバックアップします。
# convoy backup create snap0002 --dest vfs:///backupdir/
バックアップしたボリュームvol01を利用し、新たにコンテナtest03を起動し、test.txtの中身を確認します。
# docker run -itd -v vol01:/cdir01 --volume-driver=convoy --name test03 -h test03 centos:centos7.1.1503 /bin/bash [root@c71n93 ~]# docker exec -it test03 /bin/bash [root@test03 /]# cat /cdir01/test.txt Hello Docker. [root@test03 /]#
上書きした内容のtest.txtが見えます。
関連記事
- 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
- 第11回 Docker環境のバックアップをラクにする「Convoy」とは?
Docker環境のバックアップ/リストアは、物理サーバやハイパーバイザー型の仮想化基盤に比べて、異なる点が多くあります。今回はDockerコミュニティーの間で注目されている「Convoy(コンボイ)」を紹介します。 - 第2回 chroot/Dockerを手元のWindowsで手軽に試す方法
なぜ企業がDockerに着目するのか、今後の“攻めのIT”に必要と言われているのか。今回はこれをふまえ、簡単にざっくりと体験学習してみませんか。今回は準備編として、CentOS 7.xをお手元のWindows PCで手軽に試す方法を簡単に紹介します。 - ゲームもレースもビッグデータ分析で上手くなる!?
企業の“ビッグデータ活用”への期待度は高い。しかし、現実には「ビッグデータは持っているが活用はできていない」という企業がほとんどだろう。ここでは、思いがけない方法でビッグデータ分析を活用している事例などを紹介する。 - クラウドエバンジェリスト4者対談:「エンタープライズクラウド」は、どこへ向かうのか?
エンタープライズ領域におけるクラウド利用がいよいよ本格的に普及段階に入った。その理由と背景は何か。自社は、導入をどう考えればよいか。主要ベンダーのクラウド関連エバンジェリストに、現状とその未来を分析してもらった。
Copyright © ITmedia, Inc. All Rights Reserved.