BusyBoxEstimated reading time: 4 minutes
Busybox base image.
GitHub repo: https://github.com/docker-library/busybox
Supported tags and respective
For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see the
repos/busybox directory in the
docker-library/repo-info GitHub repo.
For more information about this image and its history, please see the relevant manifest file (
library/busybox). This image is updated via pull requests to the
docker-library/official-images GitHub repo.
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.
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.
Dockerfile for a binary
FROM busybox COPY ./my-static-binary /my-static-binary CMD ["/my-static-binary"]
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
This image contains 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).
busybox:glibc: glibc from Debian (which is then included in the image)
busybox:musl: musl from Alpine (statically compiled)
busybox:uclibc: uClibc via Buildroot (statically compiled)
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).
View license information for the software contained in this image.
Supported Docker versions
This image is officially supported on Docker version 17.04.0-ce.
Support for older versions (down to 1.6) is provided on a best-effort basis.
Please see the Docker installation documentation for details on how to upgrade your Docker daemon.
If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a
cve-tracker issue on the
official-images repository first.
You can also reach many of the official image maintainers via the
#docker-library IRC channel on Freenode.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.
Documentation for this image is stored in the
busybox/ directory of the
docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository’s
README.md file before attempting a pull request.