Search code examples
dockermountnfs

How to mount the root directory of docker container as a NFS mount point


I'm new to docker, and I'm trying mount the root directory of docker container as a NFS mount point. for example, I had a NFS mount point test:/home/user/3243, and I'm trying:

docker run -it -v "test:/home/user/3243":/ centos7 /bin/bash

absolutely, it's failed. So I tried this:

mount -t nfs test:/home/user/3243 /mnt/nfs/3243
docker run -it -v /mnt/nfs/3243:/ centos7 /bin/bash

but failed again, so how to do this? Could it be worked out?


Solution

  • A couple of issues here:

    1. You cannot mount to the root directory of a container. So docker run -v /foo:/ will never work.

    2. With the syntax of your first attempt, -v test:/foo:bar, Docker would see this as wanting to create a "named" volume called "test".

    You should be able to first do the NFS mount, then do docker run -v /mnt/nfs/3243:/foo to have the nfs path mounted to /foo. But again, you can't mount to /.