2016年12月16日 08時00分 UPDATE
特集/連載

それぞれのメリット/デメリットDockerで永続ストレージを実現する4つの方法

デフォルトのDockerは永続ストレージをサポートしていなため、コンテナの削除によってデータも失われる。だが、ここで紹介する方法を使えば永続ストレージを利用できる。

[Chris Evans,Computer Weekly]
Computer Weekly

 コンテナ技術を使えば、アプリケーションの作成、管理、実行を非常に効率化できる。例えば、「Docker」を実行する物理ホストは、スケジューリングとメモリリソースを効率的に使用して、数百のコンテナを同時に管理できる。

Computer Weekly日本語版 12月7日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 12月7日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 コンテナは、基盤となるOSの機能を使用して、ネットワークやストレージにアクセスするアプリケーションに必要なプロセスを集約したものだ。

 コンテナ間のプロセスは、「cgroups」や「名前空間」などの運用特性によって分離される。そのため各コンテナには、サーバでインスタンスが1つだけ実行されているように見える。

 コンテナの当初の目的は、コンテナを一時的または過渡的なものにして、特定の需要やワークロードを管理できるようにすることだった。コンテナは必要なときにアプリケーションを実行するのに効果的な方法だ。だが、(デフォルトでは)コンテナを削除するとコンテナの全データが失われるという事実が、永続ストレージが望ましいというよりもむしろ必須であるデータベースなどのアプリケーションを実行する上で問題となる。

 Dockerには、コンテナの有効期間中に永続データを実現するメカニズムが用意されている。

 Dockerコンテナに永続ストレージを用意する方法には、

  • データボリューム
  • データボリュームコンテナ
  • ホストディレクトリのマウント
  • Dockerストレージプラグイン

の4つがある。

Dockerデータボリューム

 データボリュームは、ホストのファイルシステム内のディレクトリ(一般に「/var/lib/docker/volumes」)で、ここにコンテナの永続データを格納する。このディレクトリはコンテナ起動時にマウントポイントとして表示され、管理者がこれを指定する。

 ボリュームに分かりやすい名前を指定しない場合は、ランダムに生成される64文字のUUIDがデフォルトで付けられる。

 このように作成したDockerデータボリュームは、コンテナが起動してから停止するまで存続する。コンテナにアタッチされたボリュームの詳細は、コンテナに対して「docker inspect」を実行すると確認できる。アタッチされたボリュームは「Mounts」セクションに表示される。ボリュームのリストは「docker volume ls」コマンドで確認できる。だが、「docker volume」コマンドを使ってボリュームに関連付けられたコンテナを直接表示する方法はない。

 データボリュームに書き込まれる情報は、Dockerイメージの管理に通常使用するストレージドライバの外部で管理される。つまり、コンテナ内のディレクトリに書き込む場合よりも、ボリュームへのアクセスはかなり高速になる。というのも、ストレージドライバはコンテナイメージ自体からの更新や変更の差分を管理する必要がないためだ。

 残念ながら、データボリュームはそれほど有効ではなく、実行中のコンテナや新規コンテナには既存のボリュームをアタッチできない。そのため、孤立したボリューム(どのコンテナにも関連付けられていないボリューム)が生まれ、クリーンアップ時に問題になる可能性がある。分かりやすいボリューム名を使っていなければなおさらだ。

データボリュームコンテナ

 ボリュームに代わる方法として、ボリューム管理専用のコンテナを作成する方法がある。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

ITmedia マーケティング新着記事

news082.jpg

店舗Wi-Fi経由で広告や割引クーポンを配布、ネットワンパートナーズがサービス提供
ネットワンパートナーズは、店舗のWi-Fiを活用したデジタルマーケティングを実現する小売...

news038.jpg

横浜DeNAベイスターズが5年間で来場者数を76%増やすためにやったこと
ホームゲームの観客動員数が急伸する横浜DeNAベイスターズ。長年の人気低迷期を乗り越え...

news087.jpg

Webと店頭サイネージを連動する動画広告、マイクロアドデジタルサイネージとCyberBullが提供
マイクロアドデジタルサイネージはCyberBullと共同で、小売店の店頭サイネージと連動する...