Configure NFS with boot2docker and OS X
When boot2docker is used with default vboxfs to mount shared folder /Users
, it causes permission issues. For example, services do not have right to write to folders shared from host (OS X) to boot2docker.
1 min readMar 21, 2015
1. Solution
This problem can be solved using NFS to share from host (OS X) to boot2docker.
2. OS X configuration
echo "$HOME -alldirs -mapall=$(whoami) -network 192.168.59.0 -mask 255.255.255.0" | sudo tee -a /etc/exports
3. Restart NFS server daemon
sudo nfsd restart
If you don’t want to use IP range for boot2docker and want to set a fix IP address which will be assigned to boot2docker every time, run
boot2docker config > $HOME/.boot2docker/profile
and changeLowerIP
andUpperIP
to same IP e.g192.168.59.103
in$HOME/.boot2docker/profile
4. Configure boot2docker
boot2docker ssh "echo \"#! /bin/bash
sudo umount /Users && \
sudo /usr/local/etc/init.d/nfs-client start && \
sudo mkdir -p $HOME && sudo mount -t nfs -o noatime,soft,nolock,vers=3,udp,proto=udp,rsize=8192,wsize=8192,namlen=255,timeo=10,retrans=3,nfsvers=3 -v 192.168.59.3:$HOME $HOME\" | sudo tee /var/lib/boot2docker/bootlocal.sh && \
sudo chmod 755 /var/lib/boot2docker/bootlocal.sh"
5. Restart boot2docker or run the script
sh /var/lib/boot2docker/bootlocal.sh
References
Got any questions or comments? Drop me a message on Twitter @harshjv or comment below.
Originally published at harshjv.com on March 21, 2015.