How to share a folder with a docker container on OSX
Mounting shared folders between OSX and the docker container is tricky due to
the intermediate boot2docker VM. You can't use the usual docker -v
option as
the docker server knows nothing about the OSX filesystem - it can only mount
folders from the boot2docker filesystem. Fortunately, you can work around this
using SSHFS.
Install sshfs on the boot2docker machine:
$ boot2docker ssh docker@boot2docker:~$ tce-load -wi sshfs-fuse
and create a folder to mount to:
docker@boot2docker:~$ mkdir ~/osx
Ensure that 'Remote Login' is enabled in 'System Preferences > Sharing' and make a note of your host IP address.
Now run sshfs on the boot2docker VM to mount a folder from your host machine:
docker@boot2docker:~$ sudo sshfs $username@$ipaddress:/Users/$username/ /home/docker/osx/
replacing $username
and $ipaddress
as appropriate. You'll have to enter
your password.
Now you can run a docker container (using the docker client on your host machine) and mount a local folder (using the path to it on the boot2docker VM), eg:
$ docker run -it -v /home/docker/osx/somefolder:/opt/somefolder ubuntu bash
and any updates made within your local folder will be immediately visible within the container.
Largely taken from the comments here: boot2docker/boot2docker#188
Isn't this page to be updated?
http://stackoverflow.com/questions/30040708/how-to-mount-local-volumes-in-docker-machine/32030385#32030385
or this
https://medium.com/@brentkearney/docker-on-mac-os-x-9793ac024e94#.evbpfdfv6