Alpine Linux with s6 overlay.
Tip
Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!
- Multi-platform alpine based and distribution images
- Artifacts provided on releases page
This repository provides two images. The first one is built on top of alpine so, you can use it as a base image for your own images:
FROM crazymax/alpine-s6:3.20
RUN apk add --no-cache nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
Note
ENTRYPOINT ["/init"]
is already defined in the base image so no need to add
this command.
The second one is a distribution image. This is a
multi-platform scratch image that only contains all the scripts and binaries
needed to run s6-overlay. This way you can use any base image and use the
COPY --from
command to copy the assets inside your image:
FROM ubuntu
COPY --from=crazymax/alpine-s6-dist:3.20 / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]
Registry | Image |
---|---|
Docker Hub | crazymax/alpine-s6 |
GitHub Container Registry | ghcr.io/crazy-max/alpine-s6 |
$ docker buildx imagetools inspect crazymax/alpine-s6 --format "{{json .Manifest}}" | \
jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'
linux/386
linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x
Registry | Image |
---|---|
Docker Hub | crazymax/alpine-s6-dist |
GitHub Container Registry | ghcr.io/crazy-max/alpine-s6-dist |
$ docker buildx imagetools inspect crazymax/alpine-s6-dist --format "{{json .Manifest}}" | \
jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'
linux/386
linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x
edge
,edge-x.x.x.x
latest-edge
,3.20-edge
latest
,latest-x.x.x.x
,3.20
,3.20-x.x.x.x
3.19-edge
3.19
,3.19-x.x.x.x
3.18-edge
3.18
,3.18-x.x.x.x
3.17-edge
3.17
,3.17-x.x.x.x
3.16-edge
3.16
,3.16-x.x.x.x
3.15-edge
3.15
,3.15-x.x.x.x
x.x.x.x
has to be replaced with one of the s6-overlay releases available (e.g.3.1.0.1
).
git clone https://github.com/crazy-max/docker-alpine-s6.git
cd docker-alpine-s6
# Build image and output to docker (default)
docker buildx bake
# Build tarballs to ./dist
docker buildx bake artifact-all
# Build multi-platform image
docker buildx bake image-all
# Build multi-platform dist image
docker buildx bake image-dist-all
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!
Thanks again for your support, it is much appreciated! 🙏
MIT. See LICENSE
for more details.