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.12.1 with AUFS, Docker 0.8.0, LXC 0.8.0
- Container persistence via disk automount on
/var/lib/docker - SSH keys persistence via disk automount
$ brew update
$ brew install boot2docker
$ curl https://raw.github.com/boot2docker/boot2docker/master/boot2docker > boot2docker
$ chmod +x boot2docker
boot2docker comes with a simple init script that leverage's VirtualBox's VBoxManage. You can start, stop and delete the VM right from the command line.
$ boot2docker init
$ boot2docker up
In order to use this features refer to this 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.
