boot2docker is a lightweight Linux distribution based on Tiny Core Linux made specifically to run Docker containers. It runs completely from RAM, weighs ~24MB and boots in ~5s (YMMV). The ISO can be download here.
See Frequently asked questions for more details.
- Kernel 3.14.1 with AUFS, Docker 0.11.1 - using libcontainer
- Container persistence via disk automount on
/var/lib/docker
- SSH keys persistence via disk automount
$ brew update
$ brew install boot2docker
For backup / Time Machine exclusion considerations: The virtual machine disk image lives in /.boot2docker, not in the standard place (/VirtualBox VMs).
$ curl -L -O https://raw.githubusercontent.com/boot2docker/boot2docker/master/boot2docker
$ chmod +x boot2docker
You can also use the boot2docker.iso and make your own virtual machine, or install on physical hardware.
Please remember to give the VM/hardware at least 512MB RAM - and you will need more if you want to do docker development on boot2docker.
boot2docker comes with an init script that leverages VirtualBox's VBoxManage
. You can start, stop and delete the VM right from the command line.
$ boot2docker init
$ boot2docker up
$ boot2docker stop
$ boot2docker download
$ boot2docker up
In order to use this features refer to these workarounds
You can customise the values of VM_NAME
, DOCKER_PORT
, SSH_HOST_PORT
, VM_DISK
, VM_DISK_SIZE
, VM_MEM
and BOOT2DOCKER_ISO
by setting them in $HOME/.boot2docker/profile
When you run boot2docker init
, the boot2docker manage script auto-creates
a disk that will be automounted and used to persist your docker data in
/var/lib/docker
and /var/lib/boot2docker
.
This virtual disk will be removed when you run boot2docker delete
.
It will also persist the SSH keys of the machine.
If you are not using the boot2docker VirtualBox manage script, you can create
an ext4 formatted partition with the label boot2docker-data
(mkfs.ext4 -L boot2docker-data /dev/sdX5
) to your VM or host, and
boot2docker will automount it on /mnt/sdX
and then softlink
/mnt/sdX/var/lib/docker
to /var/lib/docker
.
$ boot2docker ssh
boot2docker auto logs in, but if you want to SSH into the machine, the credentials are:
user: docker
pass: tcuser
To 'install' the ISO onto an SD card, USB-Stick or even empty hard disk, you can
use dd if=boot2docker.iso of=/dev/sdX
.
This will create the small boot partition, and install an MBR.
Goto How to build for Documentation on how to build your own boot2docker ISO's.