I'm just starting to learn Docker, and I'm trying to get a simple setup with boot2docker on Windows. I could not find in any tutorial or samples online how to make my project files accessible to the boot2docker VM.
I downloaded boot2docker, and succeeded in installing it and getting it up and running. I can also ssh into it and run the hello world docker example, so I know I have a working Docker installation in the VM.
Now, the question: How do I get my Dockerfile and my application files on the boot2docker VM so that I can build a Docker container?
In other words, I'm trying to do this from the boot2docker VM:
$ cd /some-directory-from-my-host-os
$ docker build .
I tried following the instructions on https://github.com/boot2docker/boot2docker#folder-sharing and setup a SAMBA share, and I can successfully connect from Windows to the share at \\192.168.59.103\data but that doesn't tell me how to access that same directory from within the boot2docker VM.
I feel like the answer might be obvious, but I'm sure I'm not the only one who will hit that wall. Thanks for your help!
Update - Now Built-In in boot2docker 1.3!
Since boot2docker 1.3, the ability to mount a shared folder has been added, so the VM can share your dev folder directly. More information here: https://github.com/boot2docker/boot2docker#virtualbox-guest-additions
Not sure if it helps under windows. But for Mac see:
boot2docker together with VirtualBox Guest Additions
How to mount /Users into boot2docker
tl;dr Build your own custom boot2docker.iso with VirtualBox Guest Additions (see link) or download http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso and save it to ~/.boot2docker/boot2docker.iso.
Following your current progress, and presuming your samba container is running, you can find the path to the /data folder on your Boot2docker VM by running:
$ docker inspect <samba_container_id>
This will list the containers configuration details. Near the very bottom you should see:
"Volumes": {
"/data": "/mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
That's your boot2docker vm /data path. Simply cd into that folder
$ cd /mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>
From Windows Explorer, Navigate to:
\\192.168.59.103\data
Now you can paste/copy/create some files into that data folder and you should see them populate on your Boot2docker VM at path: /mnt/sda1/var/lib/docker/vfs/dir/<long_folder_id_here>
IMHO the best way would be to use scp. As you can ssh, you can use winscp to send the Dockerfile to the VM.
ssh the file into your VM
dockerfile=$(cat LocalDockerfile)
boot2docker ssh "echo '$dockerfile' > Dockerfile"
wrote it up here http://micahasmith.github.io/2014/11/07/copying-files-into-boot2docker/
On Boot2Docker change your directory "cd /c" you will be able to see Users folders on Windows. Put the content you wanna share in your prefered Users Folders.
I use vagrant with this box : https://vagrantcloud.com/yungsang/boot2docker
and I changed Vagrant file to use (auto-)rsync on Windows :
rsync_args = ["--verbose", "--archive", "--delete", "-z"]
rsync_auto = true
rsync_exclude = [".vagrant/"]
config.vm.synced_folder ".", "/vagrant", rsync__args: rsync_args, rsync__exclude: rsync_exclude, rsync__auto: rsync_auto, type: "rsync"
来源:https://stackoverflow.com/questions/24196956/how-to-deploy-dockerfile-and-application-files-to-boot2docker