Use personal Alpine image
Just created an Alpine multiarch image, FROM ulm0/alpine:v3.6
pulls an specific Alpine version based on the Docker engine host architecture, since this repository has ARM runner(s), it'll pull the ARM version of the image.
The images were created by the following steps:
-
Get the mini root filesystem (per each arch)
wget http://dl-4.alpinelinux.org/alpine/$ARCH/releases/armhf/alpine-minirootfs-3.6.0-$ARCH.tar.gz -O $ARCH.tar.gz
-
Import it to a Docker image (per each arch)
cat $ARCH.tar.gz | docker import - ulm0/alpine:v3.6-$ARCH
-
Push the images
docker push ulm0/alpine
-
Play with the image manifest list
manifest-tool push from-args --platforms "linux/amd64,linux/386,linux/arm,linux/arm64" \
--template ulm0/alpine:v3.6-ARCH --target ulm0/alpine:v3.6 ```
The benefit is this new base image reduces the resulting image footprint
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
klud/gitlab-runner latest cb7eb766037d 8 minutes ago 96.5 MB
klud/gitlab-runner 10.4.0 ce1b5837cb0c 7 days ago 106 MB