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

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

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

[Chris Evans,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」)で、ここにコンテナの永続データを格納する。

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

news113.jpg

「STORES プラットフォーム」にPOSレジアプリ 実店鋪とネットショップのデータを一元管理可能に
ヘイの「STORES プラットフォーム」にPOSレジアプリ「STORES レジ」が加わった。新サービ...

news051.jpg

電通の広告・マーケティングノウハウをAIで再現 「CXAI」が目指すもの
電通グループ4社が、CXのためのAI構築サービスを開始した。電通のクリエイターの知見を学...