The gnu-on-alpine Docker container consists of Alpine Linux, along with various GNU tools commonly used for shell scripting. This container is very closely related to alpine-plus-plus. The difference is that alpine-plus-plus includes git, while gnu-on-alpine does not. Thus, if you need git, choose alpine-plus-plus; and otherwise choose gnu-on-alpine. The base Docker image is the official Alpine Docker image, which was chosen for its small size. On top of Alpine is a single layer that includes the following GNU tools:
The original motivating use-case is for developing GitHub container actions. GitHub Actions is GitHub's CI/CD platform. GitHub Actions workflows are comprised of individual steps that can invoke Actions that perform a variety of functions. One of the ways to implement an Action is what GitHub calls a container action. This allows for implementing a GitHub Action using any programming languages or tools. In some cases, shell scripting may be sufficient. Thus, this container. It is certainly not limited to usage in GitHub Action development, and can be used for shell scripting tasks you need to execute locally, etc.
The gnu-on-alpine container can be pulled from Docker Hub as well as the GitHub Container Registry. When using gnu-on-alpine in the development of a GitHub Container Action, we recommend pulling from the GitHub Container Registry, as it is likely faster for that use-case.
The developers of gnu-on-alpine are not affiliated with any of Alpine Linux, Docker, GNU, or GitHub. We simply use GitHub Actions, and developed this container to help others.
Blog Posts About gnu-on-alpine
As the author of the gnu-on-alpine Docker Container, I occasionally post about this, and other software that I maintain on DEV.to. See my DEV.to profile for a full list of such posts. Below is a selection of blog posts specifically about gnu-on-alpine.
gnu-on-alpine and alpine-plus-plus: Two Lightweight Containers for Implementing GitHub Container Actions with Shell Scripting, posted on DEV on February 21, 2023.
This post covers the motivation, purpose, and functionality of gnu-on-alpine and alpine-plus-plus, which are two Docker containers built atop Alpine Linux, and include a variety of shell scripting tools.