Public | Automated Build

Last pushed: 3 years ago
Short Description
Docker image for static DASH (“the Debian Almquist Shell”) without GPLv2 parts
Full Description

Docker image for static DASH

Repository name in Docker Hub: williamyeh/dash

This Docker image contains only a static version of DASH (“the Debian Almquist Shell”).

Purpose

To build a minimal Docker image, you may begin with scratch, and then add something (usually static binary files without any runtime dependency) into it.

Sometimes we'd also like to put simple wrapper scripts into the image, too. Most people will begin with base images such as busybox, progrium/busybox, or alpine. However, even the BusyBox itself can be slimed down further, since the only thing needed here is a sh-compatible shell to interpret and execute our *.sh files.

For this case, I build a minimal Docker base image that contains only a statically linked program: DASH (“the Debian Almquist Shell”). To be more friendly to derived work, I also replace the only GPLv2 part in DASH (the mksignames.c file) with an MIT-style data source: “SIGNAL(7) in Linux Programmer’s Manual”.

Features

  • Highly compatible with "sh" (Bourne Shell).

  • Small (about 1.4 MB).

  • Permissive free software license.

Usage

Mostly used as a base image. For example:

# First, inherit from this image...
FROM williamyeh/dash

# Then, put your static binaries and scripts below...
COPY ...
ADD  ...

About the rootfs

To build the rootfs on your own, see instructions for more details.

Dependencies

  • scratch.

History

  • 1.1 - Replace the only GPLv2 part in DASH (mksignames.c) with an MIT-style data source.
  • 1.0 - Initial release.

Author

William Yeh, william.pjyeh@gmail.com

License

This image contains three components; each has its own license statement, respectively.

  1. The first part is DASH. This part, excluding the mksignames.c file (removed from this Docker image), is primarily licensed under 3-clause BSD. See the license file of DASH for more details.

  2. The second part, the new-signames.c file, is hand-crafted by me according to an MIT-style data source: “SIGNAL(7) in Linux Programmer’s Manual”.

  3. The remain parts, written by me, is released to public domain. See LICENSE file for details.

Docker Pull Command
Owner
williamyeh
Source Repository