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

Copyright © ITmedia, Inc. All Rights Reserved.

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

news132.jpg

ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。

news103.jpg

なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...

news160.jpg

業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...