Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hentioe/my-docker-elixir
Hentioe's Elixir images
https://github.com/hentioe/my-docker-elixir
Last synced: 14 days ago
JSON representation
Hentioe's Elixir images
- Host: GitHub
- URL: https://github.com/hentioe/my-docker-elixir
- Owner: Hentioe
- Created: 2023-05-23T03:43:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-12T22:20:41.000Z (7 months ago)
- Last Synced: 2024-04-14T12:08:28.825Z (7 months ago)
- Language: Dockerfile
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# my-docker-elixir
A list of Elixir images maintained by me that are automatically built and pushed to [Docker Hub](https://hub.docker.com/repository/docker/hentioe/elixir).
## Introduction
This series of images is a new choice in addition to the official images. All of Hentioe's own projects are based on this series of images.
## Version
This repository typically maintains only the latest two minor versions, such as the current `1.17` and `1.16`. It is built on top of the base images needed by Hentioe, mainly Debian (`-slim`), Alpine (`-alpine`) and Void Linux (`-void`).
> Due to Docker Hub's limitations on the use of automatic build features, the images in this repository are built and pushed from a CI server.
## Usage
Pull the latest image:
```bash
docker pull hentioe/elixir:1.17.3-otp-27-slim
```You can also pull without specifying any tags, which will default to fetching the latest version, including release candidate (RC) versions. Additionally, you can use image tags with specific revision numbers, such as `1.17.3-otp-27-slim`.
## Supported tags and respective `Dockerfile` links
- [`1.17.3-otp-27-slim`, `1.17-otp-26-slim`, `latest`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.17/otp-27-slim/Dockerfile)
- [`1.17.3-otp-27-alpine`, `1.17-otp-26-alpine`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.17/otp-27-alpine/Dockerfile)
- [`1.17.3-otp-27-void`, `1.17-otp-26-void`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.17/otp-27-void/Dockerfile)
- [`1.16.3-otp-26-slim`, `1.16-otp-26-slim`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.16/otp-26-slim/Dockerfile)
- [`1.16.3-otp-26-alpine`, `1.16-otp-26-alpine`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.16/otp-26-alpine/Dockerfile)
- [`1.16.3-otp-26-void`, `1.16-otp-26-void`](https://github.com/Hentioe/my-docker-elixir/blob/main/1.16/otp-26-void/Dockerfile)## Runner Images
Package the `mix release` artifact into the runner image for deployment. The runner image corresponding to each version is:
| tag | runner base |
| :--------------------- | :------------------------------------------------- |
| `1.17.3-otp-27-void` | `ghcr.io/void-linux/void-glibc-busybox:20240526R1` |
| `1.17.3-otp-27-alpine` | `alpine:3.20` |
| `1.17.3-otp-27-slim` | `debian:bookworm` |
| `1.16.3-otp-26-void` | `ghcr.io/void-linux/void-glibc-busybox:20240526R1` |
| `1.16.3-otp-26-alpine` | `alpine:3.20` |
| `1.16.3-otp-26-slim` | `debian:bookworm` |## Local build
To pull this project to your local machine and execute the `build.exs` script to quickly build and test the required image.
Command Syntax: `elixir build.exs [version] [base]`, where `[version]` represents the complete Elixir version, and `[base]` represents the base image.
_The `[version]` parameter must include the `patch` version number._
Example: Build an image with Elixir version `1.17.3` based on `otp-26-slim`:
```bash
elixir build.exs 1.17.3 otp-27-slim
```If the last line of the output shows `ok` it indicates a successful build and test. The resulting image will be named `local/elixir:1.17-otp-27-slim`.
_Note: The label of the completed local image does not include the `patch` version number._
## ARM64 support
Starting from version 1.16, this repository provides `arm64` builds.