Monday, June 26, 2017

Another Base Image Option: Alpine for s390x

Alpine Linux has announced their new 3.6 release which includes s390x support. Alpine is a minimal Linux distro. Contrary to other distributions, it uses musl as runtime library (not glibc), helping in downsizing images.

A Docker image named s390x/alpine is available at Docker Hub and while being a fully functional base, it is just 5 MB (!) in size:

root@s8345001:~# docker run -ti s390x/alpine:3.6
Unable to find image 's390x/alpine:3.6' locally
3.6: Pulling from s390x/alpine
Digest: sha256:3297a9b30b666eb3e2a926fbbe49dbdbc60a457deb1487a0df7838a9beb02916
Status: Downloaded newer image for s390x/alpine:3.6
/ # apk update && apk add curl
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/s390x/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/s390x/APKINDEX.tar.gz
v3.6.1-62-g658c65ba33 [http://dl-cdn.alpinelinux.org/alpine/v3.6/main]
v3.6.1-61-gc32140e9a2 [http://dl-cdn.alpinelinux.org/alpine/v3.6/community]
OK: 8175 distinct packages available
(1/4) Installing ca-certificates (20161130-r2)
(2/4) Installing libssh2 (1.8.0-r1)
(3/4) Installing libcurl (7.54.0-r0)
(4/4) Installing curl (7.54.0-r0)
Executing busybox-1.26.2-r5.trigger
Executing ca-certificates-20161130-r2.trigger
OK: 6 MiB in 15 packages
/ # curl containerz.blogspot.com
<HTML>
[...]
The minimal size makes the entire user experience very snappy -- it's fun to work with it.
Few specific tools are missing at this time, so booting Alpine is not yet included: to date, Docker is best way to test drive Alpine.
Credits for this image to Bobby Bingham (musl port to s390x), Tuan Hoang (port of Alpine to s390x, starting from scratch), as well as the core Alpine/Docker folks who provide Alpine itself and put it on Docker Hub/Store.

No comments:

Post a Comment