docker-builder

A modular image building tool for Docker

by k^2: TsaiKD / kfei

Heads Up

  • distro-specific customization
  • configurable image prefix
  • multiple inheritance
  • startup hook
  • minimal dependency (written in pure Bash)

minimal dependency

quick start

$ curl -Ls https://raw.github.com/tsaikd/docker-builder/master/install.sh | bash
            

distro-specific customization

e.g. setting APT_PROXY for ubuntu-based image

$ export APT_PROXY="http://apt.proxy.local:3128/"
$ docker-builder category/package/tag
            

configurable image prefix

username prefix or even private registry

$ export DOCKER_BASE="username"
$ docker-builder category/package/tag

$ export DOCKER_BASE="registry.docker.local:5000"
$ docker-buidler category/package/tag
            

multiple inheritance

inherit from multiple images

$ cat > dev-lang/golang/1.3.3/inherit <<EOF
dev-vcs/git/latest
dev-vcs/mercurial/latest
dev-vcs/subversion/latest
net-misc/wget/latest
EOF

$ docker-builder dev-lang/golang/1.3.3
            

startup hook

feed startup script to container

$ cat > ci-job.sh <<EOF
#!/bin/bash

git clone https://github.com/sinatra/sinatra.git sinatra
cd sinatra && bundle install
rake test
exit $?
EOF

# Feed task to container
$ docker run -it -v $PWD/ci-job.sh:/start.sh <container-id>
            

there are some useful? packages now...

  • net-p2p/rtorrent
  • app-editors/sublimetext + media-fonts/notofonts
  • net-wireless/hostapd
  • ... visit our Github page to see a full list


Any Gentoo user there?

QUICK DEMO

Thank you.

github.com/tsaikd/docker-builder