This doc covers how to get a local development environment going for building Flapjack packages.
The easiest way to do this is to use boot2docker-cli to manage a VirtualBox VM running boot2docker linux, a very lightweight linux distro designed to run docker server and not much else (it uses busybox for your shell if you ssh into it). The boot2docker cli is written in Go and runs on Mac OS, Windows and Linux.
Here’s how I installed it on Mac OS X Mavericks (10.9.3) with homebrew and VirtualBox 4.3.10 already installed:
brew update brew install boot2docker
Specify some configuration, in particular so the IP range is within a subnet that your VPN is not going to grab routes to:
DiskSize = 20000 Memory = 2048 SSHPort = 2022 DockerPort = 2375 HostIP = "172.20.10.3" DHCPIP = "172.20.10.99" NetMask = [255, 255, 255, 0] LowerIP = "172.20.10.103" UpperIP = "172.20.10.254" DHCPEnabled = true
Create, and start up, your boot2docker docker server:
boot2docker init boot2docker start
It’ll give you an address to set DOCKER_HOST to so that your docker cli knows how to access your docker server, so you’ll then need to run something the following:
Test that everything is working:
You should see:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
This shows that there are no docker containers running.
More better doco on boot2docker is available.
Pull down the latest flapjack/omnibus-distro images from the docker registry for your preferred distribution:
docker pull flapjack/omnibus-ubuntu docker pull flapjack/omnibus-debian docker pull flapjack/omnibus-centos
This will pull down several images each. If you just want an image for a particular Ubuntu release, supply either the
precise tags to the above
docker pull command, eg:
docker pull flapjack/omnibus-ubuntu:trusty
The same applies to Debian and Centos:
docker pull flapjack/omnibus-debian:wheezy docker pull flapjack/omnibus-centos:6
Details of the build history and so on for omnibus-ubuntu are visible on the Docker Hub.
The image is rebuilt automatically when the omnibus-ubuntu repo receives new commits.