LoginSignup
26
24

More than 5 years have passed since last update.

DockerコンテナにNFSボリュームをマウントする---Netshare Pluginを使ってみる

Last updated at Posted at 2016-05-06

Netshare Pluginを使うとDockerコンテナにNFSボリュームをマウントすることができます。このプラグインを使えると様々な用途(特にDocker Swarm上)で活用できそうなので、以下に手順を残しておきます。

Vagrantでテスト用の環境を作る

vagrant init ubuntu/trusty64
sed -i -e "s/.*192.168.33.10.*/  config.vm.network \"private_network\", ip: \"192.168.33.10\"/" Vagrantfile
vagrant up
vagrant ssh

NOTE: この例では192.168.33.10というアドレスを使ってNFSボリュームをシェアする環境を作ります。また、手順を短くするためにNFSサーバーもDockerも同じVMにインストールすることにします。

Docker EngineとNFSサーバーをインストールする

# Dockerをインストールします
curl -fsSL https://get.docker.com/ | sh

# NFSサーバーをインストールして/exportsというディレクトリをシェアする設定を加えます
sudo -i
aptitude install nfs-server
mkdir /exports
echo "/exports 192.168.33.0/24(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports
/etc/init.d/nfs-kernel-server start

Netshare PluginをインストールしてコンテナにNFSボリュームをマウントする

# Netshare Pluginをインストールします
wget https://github.com/gondor/docker-volume-netshare/releases/download/v0.16/docker-volume-netshare_0.16_amd64.deb
dpkg -i docker-volume-netshare_0.16_amd64.deb
service docker-volume-netshare start

# コンテナを作ってNFSボリュームをマウントします
docker run --rm --volume-driver=nfs -v 192.168.33.10/exports:/mount -it ubuntu

# 確認します
root@934060cad02a:/# touch /mount/file1
root@934060cad02a:/# touch /mount/file2
root@934060cad02a:/# exit
ls /exports
file1 file2

NOTE: touch /mount/file1がハングする場合はVMをrebootしてからもう一度試してみてください。その場合はservice docker-volume-netshare startをお忘れなく。。。

また、もちろんのことですが、下記のようにサブディレクトリをマウントすることもできます。

mkdir /exports/server1
docker run --rm --volume-driver=nfs -v 192.168.33.10/exports/server1:/mount -it ubuntu
root@72ac425831d1:/# touch /mount/test1
root@72ac425831d1:/# exit
root@vagrant-ubuntu-trusty-64:~# ls /exports/server1
test1

また、Netshare PluginはAWS EFSやCIFSもマウントできるようなので、ご興味のある方は下記リンクへどうぞ。

参考リンク

26
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
24