This content originally appeared on DEV Community and was authored by Vincent A. Cicirello
TL;DR
I just released gnu-on-alpine 3.22.1 and alpine-plus-plus 3.22.1, two lightweight containers for implementing GitHub Container Actions with shell scripting. Both containers are built upon alpine to keep the image size small for fast loading within GitHub Actions, and both are preinstalled with bash, coreutils, findutils, and gawk; and alpine-plus-plus is additionally preinstalled with git. The Docker version tags correspond to the version of Alpine used as the base. Both are available via either Docker Hub or the GitHub Container Registry.
Changelog gnu-on-alpine 3.22.1 – 2025-7-16
Changed
- Bumped alpine to 3.22.1.
Changelog alpine-plus-plus 3.22.1 – 2025-7-16
Changed
- Bumped alpine to 3.22.1.
Installation and Usage
You can pull gnu-on-alpine from either Docker Hub or the GitHub Container Registry with the following commands:
docker pull cicirello/gnu-on-alpine:latest
docker pull ghcr.io/cicirello/gnu-on-alpine:latest
You can pull alpine-plus-plus from either Docker Hub or the GitHub Container Registry with the following commands:
docker pull cicirello/alpine-plus-plus:latest
docker pull ghcr.io/cicirello/alpine-plus-plus:latest
To use gnu-on-alpine as a base image in a Dockerfile (via Docker Hub):
FROM cicirello/gnu-on-alpine:latest
# The rest of your Dockerfile would go here.
Or, from the GitHub Container Registry with:
FROM ghcr.io/cicirello/gnu-on-alpine:latest
# The rest of your Dockerfile would go here.
To use alpine-plus-plus as a base image in a Dockerfile (via Docker Hub):
FROM cicirello/alpine-plus-plus:latest
# The rest of your Dockerfile would go here.
Or, from the GitHub Container Registry with:
FROM ghcr.io/cicirello/alpine-plus-plus:latest
# The rest of your Dockerfile would go here.
More Information
For more information, see their GitHub repositories and project pages. Please consider starring on GitHub.
cicirello
/
alpine-plus-plus
A lightweight Docker container for shell scripting with git and GNU tools on Alpine Linux
alpine-plus-plus
Website for our GitHub Actions and tools for developing them: https://actions.cicirello.org/
Summary
The alpine-plus-plus Docker image is motivated by Github-actions implemented primarily with bash and shell utilities, but is also potentially applicable to any use-case where you primarily need bash and GNU tools like gawk, etc, as well as git, but also want to keep the image size relatively small. Alpine Linux is used as the base image. Alone, Alpine almost suits this purpose However, it lacks the bash shell, and commonly used GNU tools such as findutils, gawk, etc. It also lacks git. The alpine-plus-plus image adds git, bash, findutils, coreutils, and gawk on top of Alpine Linux.
For more information, see my blog post on DEV: gnu-on-alpine and alpine-plus-plus: Two Lightweight Containers for Implementing GitHub Container Actions with Shell Scripting.
Multiplatform Image
alpine-plus-plus has the following platforms…
cicirello
/
gnu-on-alpine
A lightweight Docker container for shell scripting with GNU tools on Alpine Linux
gnu-on-alpine
Website for our GitHub Actions and tools for developing them: https://actions.cicirello.org/
Summary
The gnu-on-alpine Docker image is designed to support shell scripting using GNU tools such as the bash shell, gawk, coreutils, and findutils, while keeping the image size relatively small. Alpine Linux is used as the base image. The gnu-on-alpine image adds bash, findutils, coreutils, and gawk on top of Alpine Linux.
For more information, see my blog post on DEV: gnu-on-alpine and alpine-plus-plus: Two Lightweight Containers for Implementing GitHub Container Actions with Shell Scripting.
Multiplatform Image
gnu-on-alpine has the following platforms available:
- linux/386
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64
- linux/ppc64le
- linux/s390x
Source Repository and Builds
The source repository is maintained on GitHub. The images are built on Github and pushed to Docker Hub, as well as the Github Container Registry using Github Actions.
Docker Tags and Versioning Scheme
…Where You Can Find Me
Follow me here on DEV and on GitHub:
This content originally appeared on DEV Community and was authored by Vincent A. Cicirello