https://github.com/menci/docker-archlinuxarm
Docker image for Arch Linux (multiarch ARM64 + AMD64, daily updated with GitHub Actions)
https://github.com/menci/docker-archlinuxarm
Last synced: 2 months ago
JSON representation
Docker image for Arch Linux (multiarch ARM64 + AMD64, daily updated with GitHub Actions)
- Host: GitHub
- URL: https://github.com/menci/docker-archlinuxarm
- Owner: Menci
- License: mit
- Created: 2021-12-05T17:42:42.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T19:58:38.000Z (almost 2 years ago)
- Last Synced: 2025-01-02T14:14:59.257Z (over 1 year ago)
- Language: Dockerfile
- Homepage:
- Size: 32.2 KB
- Stars: 26
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arch Linux Docker Image (Multiarch)
[](https://github.com/Menci/docker-archlinuxarm/actions/workflows/build.yaml)
This is the Docker image for Arch Linux ARM but for compatibility some other targets are also included. All images are built on GitHub Actions automatically.
The supported platforms are:
* `linux/arm64`
* `linux/amd64`
* `linux/arm/v7`
* `linux/riscv64`
Just just like the official Arch Linux AMD64 image, it has two tags:
* `base` (default): installed only the package group `base`.
* `base-devel`: installed the package group `base-devel`.
And, the pamcan lsign-key is also removed for [security reasons](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/bc4d9f8ec5bdcbedefc96a2a1beaf33f01c07812/README.md#principles).
# Under the Hood
The Dockerfile uses a Debian Linux container to install `pacman` and bootstrap the Arch Linux ARM rootfs. Since `pacstrap` uses `mount`, it doesn't run in an unprivileged Docker container. I found the tool [`pacstrap-docker`](https://github.com/lopsided98/archlinux-docker/blob/d5a80b90aea37eee43bcc7efeaea69880a4aada7/pacstrap-docker) ([LICENSE](https://github.com/lopsided98/archlinux-docker/blob/d5a80b90aea37eee43bcc7efeaea69880a4aada7/LICENSE)) as a replacement.
After bootstrapping, the rootfs will be copied to a new container from `scratch` (aka. an empty file system), which will be commited as the result image.