I am trying to use docker-machine with docker-compose. The file docker-compose.yml has definitions as follows:
web:
build: .
command: ./run_web.sh
volu
Docker-machine automounts the users directory... But sometimes that just isn't enough.
I don't know about docker 1.6, but in 1.8 you CAN add an additional mount to docker-machine
CLI: (Only works when machine is stopped)
VBoxManage sharedfolder add
So an example in windows would be
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name e --hostpath 'e:\' --automount
GUI: (does NOT require the machine be stopped)
(default) (e:) (e)Manually mount in boot2docker:
docker-machine ip default, etc...sudo mkdir -p sudo mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` But this is only good until you restart the machine, and then the mount is lost...
Adding an automount to boot2docker:
While logged into the machine
/mnt/sda1/var/lib/boot2docker/bootlocal.sh, sda1 may be different for you...Add
mkdir -p
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker`
With these changes, you should have a new mount point. This is one of the few files I could find that is called on boot and is persistent. Until there is a better solution, this should work.
Old method: Less recommended, but left as an alternative
/mnt/sda1/var/lib/boot2docker/profile, sda1 may be different for you...Add
add_mount() {
if ! grep -q "try_mount_share $1 $2" /etc/rc.d/automount-shares ; then
echo "try_mount_share $1 $2" >> /etc/rc.d/automount-shares
fi
}
add_mount
As a last resort, you can take the slightly more tedious alternative, and you can just modify the boot image.
git -c core.autocrlf=false clone https://github.com/boot2docker/boot2docker.gitcd boot2dockergit -c core.autocrlf=false checkout v1.8.1 #or your appropriate versionrootfs/etc/rc.d/automount-sharesAdd try_mount_share line right before fi at the end. For example
try_mount_share /e e
Just be sure not to set the to anything the os needs, like /bin, etc...
docker build -t boot2docker . #This will take about an hour the first time :(docker run --rm boot2docker > boot2docker.isoThis does work, it's just long and complicated
docker version 1.8.1, docker-machine version 0.4.0