Alpine Linux with s6 overlay.
[!TIP] Want to be notified of new releases? Check out π Diun (Docker Image Update Notifier) project!
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:
# syntax=docker/dockerfile:1
FROM crazymax/alpine-s6
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 --link --from command
to copy the assets inside your image:
# syntax=docker/dockerfile:1
FROM ubuntu
COPY --link --from=crazymax/alpine-s6-dist / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]
[!WARNING]
COPY --linkis not supported with BuildKit built directly into the Docker Engine. You can use a Container builder in this case.
| 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/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/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x
edge, edge-x.x.x.xlatest-edge, 3.24-edgelatest, latest-x.x.x.x, 3.24, 3.24-x.x.x.x3.23-edge3.23, 3.23-x.x.x.x3.22-edge3.22, 3.22-x.x.x.x3.21-edge3.21, 3.21-x.x.x.x3.20-edge3.20, 3.20-x.x.x.x3.19-edge3.19, 3.19-x.x.x.x
x.x.x.xhas 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.
Alpine Linux with s6 overlay.
[!TIP] Want to be notified of new releases? Check out π Diun (Docker Image Update Notifier) project!
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:
# syntax=docker/dockerfile:1
FROM crazymax/alpine-s6
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 --link --from command
to copy the assets inside your image:
# syntax=docker/dockerfile:1
FROM ubuntu
COPY --link --from=crazymax/alpine-s6-dist / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]
[!WARNING]
COPY --linkis not supported with BuildKit built directly into the Docker Engine. You can use a Container builder in this case.
| 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/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/amd64
linux/arm/v6
linux/arm/v7
linux/arm64
linux/ppc64le
linux/riscv64
linux/s390x
edge, edge-x.x.x.xlatest-edge, 3.24-edgelatest, latest-x.x.x.x, 3.24, 3.24-x.x.x.x3.23-edge3.23, 3.23-x.x.x.x3.22-edge3.22, 3.22-x.x.x.x3.21-edge3.21, 3.21-x.x.x.x3.20-edge3.20, 3.20-x.x.x.x3.19-edge3.19, 3.19-x.x.x.x
x.x.x.xhas 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.