Joe Groocock
5274dee8b2
Some checks reported errors
continuous-integration/drone/push Build was killed
|
||
---|---|---|
skel/etc | ||
.drone.yml | ||
Dockerfile | ||
README.md | ||
tini-gnudef.patch |
spritsail/busybox - A tiny image, nurtured from source
This Docker base image has been custom crafted from source to provide just enough functionality in the tiniest footprint. Included in the image are the following:
- GNU libc6 (glibc) - C standard library, found in most linux distributions | https://www.gnu.org/software/libc/
- Busybox - The Swiss army-knife of linux with hundreds of common utilities | https://busybox.net/about.html
- LibreSSL - An OpenSSL fork aiming to modernise code and improve security | https://www.libressl.org/
Additionally, the following small utilities have been included for convenience and good container practice:
- su-exec - A convenient utility for changing user and dropping privilege | https://github.com/frebib/su-exec
- tini - A tiny but valid
init
for containers | https://github.com/krallin/tini
Goals for a base image
Occasionally there are opportunities where alternative standard libc implementations (musl/uclibc) won't do, like in the case of proprietary software like Plex Media Server where only pre-compiled binaries are provided which were built against the common glibc library.
(If your use-case doesn't require glibc and you can compile the program from source, we strongly recommend you use the Alpine Linux image, based on musl, which is smaller and features a full packaging system)
- The image had to be small, whilst still being fully functional
- It should contain a full GNU glibc implementation to support pre-compiled binaries
- There should be enough common system tools available, either GNU coreutils or busybox
- Optionally a pre-installed SSL library as many applications require it