busybox

Estimated reading time: 3 minutes

Busybox base image.

GitHub repo: https://github.com/docker-library/busybox

Library reference

This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Store page for this image at https://store.docker.com/images/busybox

Supported tags and respective Dockerfile links

Quick reference

What is BusyBox? The Swiss Army Knife of Embedded Linux

Coming in somewhere between 1 and 5 Mb in on-disk size (depending on the variant), BusyBox is a very good ingredient to craft space-efficient distributions.

BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.

wikipedia.org/wiki/BusyBox

logo

How to use this image

Run BusyBox shell

$ docker run -it --rm busybox

This will drop you into an sh shell to allow you to do what you want inside a BusyBox system.

Create a Dockerfile for a binary

FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]

This Dockerfile will allow you to create a minimal image for your statically compiled binary. You will have to compile the binary in some other place like another container. For a simpler alternative that’s similarly tiny but easier to extend, see alpine.

Image Variants

The busybox images contain BusyBox built against various “libc” variants (for a comparison of “libc” variants, Eta Labs has a very nice chart which lists many similarities and differences).

For more information about the specific particulars of the build process for each variant, see Dockerfile.builder in the same directory as each variant’s Dockerfile (see links above).

busybox:uclibc

busybox:glibc

busybox:musl

License

View license information for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in the repo-info repository’s busybox/ directory.

As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

library, sample, busybox