Storage Driver
driver
は、Dockerがボリュームを管理するために使用するプラグインや仕組みを指定するオプションです。
compose.yml で
driver
を指定することで、そのボリュームがどのように作成され、管理されるかを決定します。
デフォルトの driver: local
とは?
driver: local
は、Dockerが提供するデフォルトのボリュームドライバーです。
ローカルのファイルシステム上にボリュームを作成します。
特に指定がない場合、ボリュームは /var/lib/docker/volumes/
ディレクトリ内に保存されます。
他のドライバー例
Dockerには他のボリュームドライバーも存在し、特定の目的や環境に応じて使用できます。
1. NFSやCIFSのようなリモートファイルシステム
リモートサーバーのストレージをボリュームとして使用します。
ymlvolumes:
my_nfs_volume:
driver: local
driver_opts:
type: nfs
o: addr=192.168.1.100,nolock,soft
device: ":/path/to/share"
2. クラウドベースのボリューム
AWS EBSやGoogle Persistent Diskのようなクラウドストレージを利用する場合は、プラグインをインストールして使用します。
例: AWSのドライバーを使用する場合
ymlvolumes:
my_ebs_volume:
driver: rexray/ebs
driver_opts:
size: "100"
type: "gp2"
iops: "100"
3. 他のDockerプラグイン
driver
にカスタムドライバー名を指定すると、外部のプラグインを使用できます。
local
: デフォルトのローカルファイルシステム(一般的に使用)。
rexray
: 外部ストレージプラグイン(EBS、S3など)。
flocker
: 分散ストレージ用。
---
driverの選択が必要な場合
ローカル開発環境: driver: local
で問題ありません。データはホストマシンに保存されます。
本番環境: スケーラビリティやバックアップを考慮して、NFSやクラウドベースのドライバーを検討します。