第10回 Docker環境におけるバックアップ/リストアの罠:古賀政純の「攻めのITのためのDocker塾」(3/4 ページ)
“攻めのIT”を考える情シスが今後知っておくべき注目の技術「Docker」を基本から応用まで解説します。今回はDocker環境におけるバックアップ/リストアでの注意点をご紹介します。
Dockerイメージのセーブとロードって?
次に、docker saveとdocker loadをご紹介します。Docker環境におけるバックアップとしては、稼働中のコンテナのファイルシステムをtarアーカイブで取得するdocker export以外にも、既存のDockerイメージをtar形式でバックアップする方法があります。それがdocker saveです。具体的には、以下のような使い方になります。まず、テスト用のCentOS 6.7のDockerイメージを入手します。
# docker pull centos:centos6.7 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.io/centos centos6.7 3fba1048142f 3 weeks ago 190.6 MB
CentOS 6.7のDockerイメージ「centos:centos6.7」をtarアーカイブでセーブします。
# docker save centos:centos6.7 > centos6.7.tar
取得したtarアーカイブのファイルサイズを確認してみましょう。
# ls -lh centos6.7.tar -rw-r--r--. 1 root root 189M 11月 6 02:17 centos6.7.tar
189Mバイトのtarアーカイブであることが分かります。このtarアーカイブの中身を確認してみましょう。
# tar tvf centos6.7.tar ... ... drwxr-xr-x 0/0 0 2015-11-06 02:17 47d44cb6f252ea4f6aecf8a447972de5d9f9f2e2bec549a2f1d8f92557f4d05a/ -rw-r--r-- 0/0 3 2015-11-06 02:17 47d44cb6f252ea4f6aecf8a447972de5d9f9f2e2bec549a2f1d8f92557f4d05a/VERSION -rw-r--r-- 0/0 1187 2015-11-06 02:17 47d44cb6f252ea4f6aecf8a447972de5d9f9f2e2bec549a2f1d8f92557f4d05a/json -rw-r--r-- 0/0 1024 2015-11-06 02:17 47d44cb6f252ea4f6aecf8a447972de5d9f9f2e2bec549a2f1d8f92557f4d05a/layer.tar drwxr-xr-x 0/0 0 2015-11-06 02:17 5fc6f5013018fd5f1e84a3b5d304f03cfb81b6131ca20c968262bc60c2edb107/ -rw-r--r-- 0/0 3 2015-11-06 02:17 5fc6f5013018fd5f1e84a3b5d304f03cfb81b6131ca20c968262bc60c2edb107/VERSION -rw-r--r-- 0/0 1415 2015-11-06 02:17 5fc6f5013018fd5f1e84a3b5d304f03cfb81b6131ca20c968262bc60c2edb107/json -rw-r--r-- 0/0 197120512 2015-11-06 02:17 5fc6f5013018fd5f1e84a3b5d304f03cfb81b6131ca20c968262bc60c2edb107/layer.tar ... ...
先ほどのDockerコンテナのファイルシステムを含んだtest01.tarと異なり、中身は、Dockerエンジンが理解できるJSON形式ファイルやtarアーカイブなどが含まれています。layer.tarファイルに、CentOS 6.7のバイナリやライブラリなどのシステムファイルが収められています。このように、Dockerイメージをtarアーカイブとしてバックアップできることが分かります。このtarアーカイブを別の物理サーバsvr02で稼働するDocker環境にscpコマンドなどでコピーし、コンテナとして利用できるかを確認してみましょう。docker saveで得られたDockerイメージのtarアーカイブは、docker loadによって再びDockerイメージとして登録することができます。
# scp centos6.7.tar svr02:/root/ svr02 # docker load -i centos6.7.tar svr02 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.io/centos centos6.7 3fba1048142f 3 weeks ago 190.6 MB
ロードしたDockerイメージがDockerコンテナとして稼働できるかどうかをテストします。
svr02 # docker run -itd --name test02 -h test02 centos:centos6.7 /bin/bash
関連記事
- 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
- 第2回 chroot/Dockerを手元のWindowsで手軽に試す方法
なぜ企業がDockerに着目するのか、今後の“攻めのIT”に必要と言われているのか。今回はこれをふまえ、簡単にざっくりと体験学習してみませんか。今回は準備編として、CentOS 7.xをお手元のWindows PCで手軽に試す方法を簡単に紹介します。 - ゲームもレースもビッグデータ分析で上手くなる!?
企業の“ビッグデータ活用”への期待度は高い。しかし、現実には「ビッグデータは持っているが活用はできていない」という企業がほとんどだろう。ここでは、思いがけない方法でビッグデータ分析を活用している事例などを紹介する。 - クラウドエバンジェリスト4者対談:「エンタープライズクラウド」は、どこへ向かうのか?
エンタープライズ領域におけるクラウド利用がいよいよ本格的に普及段階に入った。その理由と背景は何か。自社は、導入をどう考えればよいか。主要ベンダーのクラウド関連エバンジェリストに、現状とその未来を分析してもらった。
Copyright © ITmedia, Inc. All Rights Reserved.