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.