Docker ComposeでNFSをマウントしてみる
環境
- ホストOS: CentOS7
- コンテナイメージ: Ubuntu 22.04
今回は簡易的にCentOS7のホスト上にあるボリュームをコンテナからNFS経由でマウントする方式で検証したので記録に残しておきます。
ホスト側の準備
検証のため簡易的な設定にします。
インストール〜起動設定
sudo yum install nfs-tools sudo systemctl start nfs sudo systemctl start rpcbind sudo systemctl enable nfs sudo systemctl enable rpcbind
NFS設定
sudo mkdir /nfs # マウントするディレクトリを作成 sudo vim /etc/exports
以下を追加
/nfs *(rw,no_root_squash)
※検証のため/nfsのディレクトリにどのホストからでも書き込み読み込みができる設定にしました。本番で使う際は適切に設定するようにしましょう。
設定を反映
sudo exportfs -ra
Docker Compose側の準備
このような感じで設定します。
services: app: image: appimage volumes: - nfs-volume:/tmp/volumes volumes: nfs-volume: driver_opts: type: nfs o: "addr=127.0.0.1,rw,nfsvers=4" device: ":/nfs"
詳細な設定については以下ドキュメントをご参照ください
https://docs.docker.jp/compose/compose-file/compose-file-v3.html?highlight=nfs#driver-opts https://docs.docker.jp/storage/volumes.html