https://github.com/crazy-max/docker-alpine-s6
Alpine Linux with s6 overlay
https://github.com/crazy-max/docker-alpine-s6
alpine alpine-linux docker s6-overlay socklog-overlay
Last synced: 6 months ago
JSON representation
Alpine Linux with s6 overlay
- Host: GitHub
- URL: https://github.com/crazy-max/docker-alpine-s6
- Owner: crazy-max
- License: mit
- Created: 2020-08-05T13:30:48.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-05T16:33:07.000Z (about 1 year ago)
- Last Synced: 2024-10-18T07:32:41.078Z (12 months ago)
- Topics: alpine, alpine-linux, docker, s6-overlay, socklog-overlay
- Language: Dockerfile
- Homepage:
- Size: 256 KB
- Stars: 33
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
## About
Alpine Linux with [s6 overlay](https://github.com/just-containers/s6-overlay/).
> [!TIP]
> Want to be notified of new releases? Check out 🔔 [Diun (Docker Image Update Notifier)](https://github.com/crazy-max/diun)
> project!___
* [Features](#features)
* [Usage](#usage)
* [Alpine image](#alpine-image)
* [Dist image](#dist-image)
* [Supported tags](#supported-tags)
* [Build](#build)
* [Contributing](#contributing)
* [License](#license)## Features
* Multi-platform [alpine based](#alpine-image) and [distribution](#dist-image) images
* Artifacts provided on [releases page](https://github.com/crazy-max/docker-alpine-s6/releases)## Usage
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:```dockerfile
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](#dist-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:```dockerfile
FROM ubuntu
COPY --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"]
```## Alpine image
| Registry | Image |
|------------------------------------------------------------------------------------------------------|-------------------------------|
| [Docker Hub](https://hub.docker.com/r/crazymax/alpine-s6/) | `crazymax/alpine-s6` |
| [GitHub Container Registry](https://github.com/users/crazy-max/packages/container/package/alpine-s6) | `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
```## Dist image
| Registry | Image |
|-----------------------------------------------------------------------------------------------------------|------------------------------------|
| [Docker Hub](https://hub.docker.com/r/crazymax/alpine-s6-dist/) | `crazymax/alpine-s6-dist` |
| [GitHub Container Registry](https://github.com/users/crazy-max/packages/container/package/alpine-s6-dist) | `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
```## Supported tags
* `edge`, `edge-x.x.x.x`
* `latest-edge`, `3.21-edge`
* `latest`, `latest-x.x.x.x`, `3.21`, `3.21-x.x.x.x`
* `3.20-edge`
* `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`> `x.x.x.x` has to be replaced with one of the s6-overlay releases available (e.g. `3.1.0.1`).
## Build
```shell
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
```## Contributing
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**](https://github.com/sponsors/crazy-max)
or by making a [PayPal donation](https://www.paypal.me/crazyws) to ensure this
journey continues indefinitely!Thanks again for your support, it is much appreciated! :pray:
## License
MIT. See `LICENSE` for more details.