You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains all scripts and files needed to create a Docker image for Arch Linux.
5
+
Arch Linux provides Docker images both in the [official DockerHub library](https://hub.docker.com/_/archlinux) (`docker pull library/archlinux:latest`) and in our [own repository](https://hub.docker.com/r/archlinux/archlinux) (`docker pull archlinux/archlinux:latest`).
6
+
7
+
Images in the official library are updated weekly while our own repository is updated daily.
8
+
9
+
Two versions of the image are provided: `base` (~160MB) and `base-devel` (~240MB), containing the respective meta package / package group. Both are available as tags with `latest` pointing to `base`. Additionally, images are tagged with their date and build job number, f.e. `base-devel-20201118.0.9436`.
10
+
11
+
While the images are regularly kept up to date it is strongly recommended running `pacman -Syu` right after starting a container due to the rolling release nature of Arch Linux.
12
+
13
+
## Principles
14
+
* Provide the Arch experience in a Docker image
15
+
* Provide the simplest but complete image to `base` and `base-devel` on a regular basis
16
+
*`pacman` needs to work out of the box
17
+
* All installed packages have to be kept unmodified
18
+
19
+
## Building your own image
20
+
21
+
[This repository](https://gitlab.archlinux.org/archlinux/archlinux-docker) contains all scripts and files needed to create a Docker image for Arch Linux.
5
22
6
-
## Dependencies
23
+
###Dependencies
7
24
Install the following Arch Linux packages:
8
25
9
26
* make
@@ -12,15 +29,23 @@ Install the following Arch Linux packages:
12
29
* fakechroot
13
30
* fakeroot
14
31
15
-
Make sure your user can directly interact with Docker (ie. `docker info` works).
32
+
Make sure your user can directly interact with Docker (i.e. `docker info` works).
16
33
17
-
## Usage
18
-
Run `make docker-image-base` to build the image `archlinux/archlinux:base` with the
19
-
`base`group installed. You can also run `make docker-image-base-devel` to
20
-
build the image `archlinux/archlinux:base-devel`with the `base-devel` group installed.
34
+
###Usage
35
+
Run `make docker-image-base` to build the `archlinux:base` image with the
36
+
`base`meta package installed. You can also run `make docker-image-base-devel` to
37
+
build the image `archlinux:base-devel`which additionally has the `base-devel` group installed.
21
38
22
-
## Principles
23
-
* Provide the Arch experience in a Docker image
24
-
* Provide the most simple but complete image to base every other upon
25
-
*`pacman` needs to work out of the box
26
-
* All installed packages have to be kept unmodified
39
+
## Pipeline
40
+
41
+
### Daily builds
42
+
43
+
Daily images are build with scheduled [GitLabCI](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/.gitlab-ci.yml) using our own runner infrastructure. Initially root filesystem archives are constructed and provided in our [package registry](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/packages). The released multi-stage Dockerfile downloads those archives and verifies their integrity before unpacking it into a Docker image layer. Images are build using [kaniko](https://github.com/GoogleContainerTools/kaniko) to avoid using privileged Docker containers, which also publishes them to our DockerHub repository.
44
+
45
+
### Weekly releases
46
+
47
+
Weekly releases to the official DockerHub library use the same pipeline as daily builds. Updates are provided as automatic [pull requests](https://github.com/docker-library/official-images/pulls?q=is%3Apr+archlinux+is%3Aclosed+author%3Aarchlinux-github) to the [official-images library](https://github.com/docker-library/official-images/blob/master/library/archlinux), whose GitHub pipeline will build the images using our provided rootfs archives and Dockerfiles.
48
+
49
+
### Development
50
+
51
+
Changes in Git feature branches are build and tested using the pipeline as well. Development images are uploaded to our [GitLab Container Registry](https://gitlab.archlinux.org/archlinux/archlinux-docker/container_registry).
0 commit comments