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

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

2016年12月16日 08時00分 公開
[Chris EvansComputer 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」)で、ここにコンテナの永続データを格納する。

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

news028.jpg

これからのマーケティングに関する8つの予言(無料eBook)
激動するトレンドを正しく理解することはマーケティングで成功するための第一歩。今回の...

news109.jpg

フォーム作成管理システム「ヘルプドッグ フォーム」のEFO(エントリーフォーム最適化)機能が正式版に
nocoはフォーム作成管理システム「ヘルプドッグ フォーム」において、β版として提供して...

news068.png

広報活動がうまくいっている企業はどのくらいある?――オズマピーアール調査
国内企業の広報担当者200人を対象に、企業広報活動の実態を調査しました。