Arch Linux Docker base image build setup using bootstrap tarball.
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.dockerignore
Dockerfile
Dockerfile.snippets
LICENSE
README.md
tar_fix.py

README.md

About

This is Arch Linux Docker base image build setup that employs the bootstrap tarball distributed by distro authors.

It's meant to provide an easy to use solution for building Arch Linux Docker images on non-Arch Linux hosts (and as an unprivileged user if your Docker instance allows that, but please mind there are good reasons why it shouldn't), which is not possible with the currently recommended method.

Usage

  • git clone this repository.

  • cd to a directory where you have cloned it.

  • Download an archlinux-bootstrap-date-architecture.tar.gz archive there, preferably the newest one (or expect a longer pacman -Syu run at docker build, and, if your tarball is relatively old, some incompatibilities to manifest; Arch changes fast). From my experience, https://archive.archlinux.org/iso/ is a very fast mirror, but you may want to choose your preferred one on https://www.archlinux.org/download/.

  • Run ./tar_fix.py --input=archlinux-bootstrap-date-architecture.tar.gz --output=bootstrap.tar.gz. This will remove input tarball's top-level directory from all its component paths, and save that in the output tarball. As a result its content starts at / rather than x86_64/ or i686/, and so will the filesystem of the Docker image. tar_fix.py needs Python 3.5. It will fail with Python 2, and even with 3.4, like in issue #1.

  • Make sure you have my Dockerfile, .dockerignore and the bootstrap.tar.gz in one directory.

  • Build the image with a command like docker build --build-arg architecture=x86_64 --tag archlinux-x86_64-base .. Mind the dot! Use --build-arg architecture=i686 if you are building from an i686 bootstrap.tar.gz.

See also

Discussion: https://bbs.archlinux.org/viewtopic.php?pid=1667108#p1667108.