CLOVER🍀

That was when it all began.

Dockerコンテナ内で、NFSマウントする

なにも考えずに、そのまま起動したDockerコンテナでは

$ docker container run -it --rm --name ubuntu ubuntu:latest bash

NFSマウントができなかったりします。

$ sudo mount -v 192.168.0.3:/ /mnt/nfs 
mount.nfs: timeout set for Fri Oct  5 15:53:18 2018
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.0.3,clientaddr=172.17.0.3'
mount.nfs: mount(2): Operation not permitted

「Operation not permitted」と言われます。

この制限を緩めるには、「--privileged」をコンテナ起動時に付与します。

$ docker container run -it --rm --name ubuntu --privileged ubuntu:latest bash

今度は、Dockerコンテナ内からNFSマウントができるようになりました。

$ sudo mount 192.168.0.3:/ /mnt/nfs

環境は、こちらのエントリから引っ張ってきています。

Ubuntu Linux 18.04 LTSで、NFSの設定を行う - CLOVER🍀

とまあ、「--privileged」をつければ動くには動くのですが、だいぶ緩くなってしまうので
あんまりいい気はしないですね…。

参考)

dockerコンテナからマウントしたホストディレクトリへの操作が拒否される

centos - Mounting nfs shares inside docker container - Stack Overflow

Docker can now run within Docker - Docker Blog