jpetazzo/docker-busybox
Busybox for Stackbrew
{ "createdAt": "2013-11-14T01:27:40Z", "defaultBranch": "master", "description": "Busybox for Stackbrew ", "fullName": "jpetazzo/docker-busybox", "homepage": null, "language": "Shell", "name": "docker-busybox", "pushedAt": "2015-04-28T19:16:25Z", "stargazersCount": 93, "topics": [], "updatedAt": "2024-10-25T16:22:02Z", "url": "https://github.com/jpetazzo/docker-busybox"}Jpetazzo’s Busybox Image Builders
Section titled “Jpetazzo’s Busybox Image Builders”A.k.a. “The Little Containers That Could!”
This repository contains:
- a
rootfs.tararchive suitable to build a minimal [Docker] image, based on [Busybox]; - a
Dockerfilereferencing this tarball, suitable for inclusion into [Stackbrew]; - multiple subdirectories providing
Dockerfilesto build this tarball.
The goal of the latter is to solve a difficult question, id est “who builds the builders?”.
Those meta-builders are called “tarmakers”. They obey the following “API”:
- they are built with a Dockerfile themselves;
- the Dockerfile doesn’t use any local content (no
ADDof local file); - they generate
rootfs.tarin their root directory.
The script mkrootfs.sh is a helper to build rootfs.tar. It requires
as first and only argument the name of a subdirectory containing a tarmaker.
The following tarmakers are available:
- buildroot: uses the [Buildroot] toolchain to compile everything from scratch (WARNING: THIS IS SLOW, it takes half an hour on my quad-core laptop with badass SSDs, so it will probably take a few hours in a typical VM!)
- ubuntu: installs the
busybox-staticUbuntu package and use it as the base for the newly built image. This is very fast but the resulting image is a bit bigger, because we have to slap a few fat greasy libraries on top of it. Would you like some fries with that?
To rebuild a busybox image using one tarmaker or the other…
Section titled “To rebuild a busybox image using one tarmaker or the other…”# Use buildroot or ubuntuTARMAKER=ubuntu./mkrootfs.sh tarmaker-ubuntudocker build -t busybox .docker run -t -i busybox[Buildroot] !: http://buildroot.uclibc.org/ [Busybox] !: http://www.busybox.net/ [Docker] !: http://docker.io/ [Stackbrew] !: https://github.com/dotcloud/stackbrew