latest
- Updated on every push to Master Dockerfiledaily
- Updated once every day Dockerfileweekly
- Updated every Sunday night Dockerfilemonthly
- Updated on the first day of every month Dockerfile
Tagged images are built from the same source repo. The only difference is when the Git Tags on the repo are updated. For example, if you pull the monthly and daily images on the 1st of the month, the contents of each image will be the same. The only difference will be the Image ID as Dockerhub builds the two as seperate images.
Arch Linux is an independently developed, i686/x86-64 general-purpose GNU/Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model, allowing for a one-time install with continuous upgrades. The default installation is a minimal base system, configured by the user to only add what is required for his purposes.
This image is built from scratch each day, using a modified version of tmc's mkimage-arch.sh script. The script is triggered by anacron and runs completely unattended. As such, you can expect a fresh, up to date base image, every day of the week.
Try out the container via CLI:
docker pull finalduty/archlinux:daily
docker run --rm -it finalduty/archlinux:daily
Build your own image from a Dockerfile via CLI:
cat << EOF > Dockerfile
FROM finalduty/archlinux:weekly
MAINTAINER foo <foo@bar.com>
RUN pacman -Syu vim --noconfirm; pacman -Scc --noconfirm
EOF
docker build -t local/archlinux -f Dockerfile .
To keep the size of the image down, a number of files are deleted during the build process, including man-pages and localisations. To see which files have been deleted, you can run pacman -Qkq
. If you need to replace one of these files, reinstall the applicable package then removing any extraneous files. Make sure to do this in one layer to save on wasted space. For instance if you wanted to add a certain localisation (en_GB in this example) you could use a Dockerfile such as the one below. It's a long one, but it'll help keep your image size down:
FROM finalduty/archlinux:daily
MAINTAINER foo <foo@bar.com>
RUN pacman -Q | awk '{print $1}' | pacman -Syu --noconfirm -; pacman -Scc --noconfirm; rm -r /usr/share/man/*; ls -d /usr/share/locale/* | egrep -v "alias|en_GB" | xargs rm -rf
I haven't tested if this works or what is required to get it to work. It is possible to take the ExecStart command out of a package's unit file and add that as a CMD layer to your own Dockerfile. This example will start xinetd and a bash shell so you can still attach to the container:
FROM finalduty/archlinux:monthly
MAINTAINER foo <foo@bar.com>
CMD /usr/bin/xinetd -dontfork; /bin/bash