
【Docker基礎】ボリュームとマウント
Docker のコンテナは「作っては壊す」というスタイルが基本です。試しに Apache のコンテナを起動して、ファイルをコピーする操作などをしてきましたが、コンテナの内部だけにデータを保存していると、コンテナ削除時にそれらが消えてしまうリスクがあります。
ここで登場するのが「ボリューム」と「マウント」という概念です。これらを使うことで、コンテナが外部のストレージ領域にデータを置き、コンテナが消えてもデータを保持できるようになります。

ボリュームとは?
- ストレージの一部を切り分けて使う仕組み。
- ハードディスクや SSD の一領域(イメージとしては“ナイフで切り分けた一部”)
- ここにデータを置き、コンテナが何度作り直されてもデータを守ることができる。
マウントとは?
- 「取り付ける」 という意味で、コンテナと外部ストレージを接続して、OSやソフトウェアから使えるようにすること。
- 実生活で言えば、USBメモリをPCに差し込むイメージ
- マウントしていない状態だと、コンテナ内でしかデータを扱えないが、マウントすればホストや外部にあるストレージをコンテナから参照できる。
マウントの目的

- データの永続化
・コンテナを壊してもデータは消えず、再度コンテナを立ち上げても同じデータが使える。 - コンテナ間やホストとのファイル共有
・開発環境でホスト側のコードを即時反映させたい、などの用途
コンテナと外部ストレージの関係
コンテナはいつか壊れる(作り直す)もの。
もしコンテナの中だけに大切なデータを保管していたら、アップデートや削除のタイミングでデータごと消えてしまうことになる。
そのため、最初からコンテナとは別の場所(ボリュームなど)にデータを置く発想が重要となる。
データの永続性
- 永続性(Persistence): コンテナが終了や削除されても、データが残り続けること。
- ボリュームを使えば、Docker が管理する領域やホストディレクトリに置かれたデータはコンテナのライフサイクルとは分離され、長期保管が可能となる。
まとめ
- ボリューム
・Docker で用意されるストレージ領域
・コンテナを何度作り直してもデータが消えない。 - マウント
・コンテナが外部のストレージ(ボリュームやホストディレクトリ)にアクセスできるように接続すること - データ永続化の考え方
・コンテナ内部にデータを閉じ込めず、最初から外部をマウントして使うのが基本
・WordPress などのアプリでは必須の手法
次のコンテンツでは、このマウントの具体的な種類について、バインドマウントとボリュームマウントに分けて解説していきます。両者の使い分けを理解することで、Docker のデータ管理がぐっと楽になります。