ABCL Docker Images

Eric Timmons etimmons at mit.edu
Sat Nov 7 20:29:25 UTC 2020


Hello fans of the Armed Bear,

As you've probably noticed, Docker and similar technologies are
extremely popular these days. Additionally, there is unfortunately no
Common Lisp representation in Docker's Official Images program (the
Docker standard library, if you will). I'd like to change that and ABCL
seems like a good candidate to start with because it's both relatively
simple to Dockerize and Mark is supportive of getting CL representation
in that program.

I've been maintaining some Common Lisp related Docker images in my
personal namespace (daewok) for several years now. I recently moved the
repos to a gitlab.common-lisp.net group (mirrored to Github) and have
cleaned up/gotten ABCL's repos into a state where I believe they adhere
to all of the Official Image program's guidelines and are ready for
inclusion.

I wanted to reach out to 1) get any feedback from ABCL devs and users to
make sure the images are useful and 2) get consent from the ABCL devs to
submit to the program.

First, the code:

The Dockerfiles themselves are located at
https://gitlab.common-lisp.net/cl-docker-images/abcl

The manifest for inclusion in the Official Images program is at
https://gitlab.common-lisp.net/cl-docker-images/official-images/-/blob/abcl/library/abcl

The documentation for inclusion on Docker Hub is at
https://gitlab.common-lisp.net/cl-docker-images/docs/-/tree/abcl/abcl

All of these are also mirrored to the cl-docker-images org on Github.

The images are built for the cross product of {buster,
windowsservercore-1809, windowsservercore-ltsc2016} x {jdk8, jdk11,
jdk15} x {arm64, amd64} (except for all combos containing jdk8 and
arm64). The current versions of the images are located at
https://hub.docker.com/r/daewok/abcl if you would like to check them
out.

I am planning that only the latest version of ABCL will be
"supported". The initial request would also backfill 1.7.1. Once a
version becomes unsupported it would not be removed from Docker hub, it
just receives no more base image updates.

Next, some info about Docker Official Images:

Documentation on the program is located at
https://docs.docker.com/docker-hub/official_images/ and
https://github.com/docker-library/official-images

In summary, every image in the program is reviewed by a team for best
practices and security, built by that team, and is available for pulling
without specifying a namespace (e.g., `docker pull abcl:latest`). This
helps give users confidence in the code they're running, as opposed to
pulling from random personal namespaces.

Even the Official Images team admits that "Official Images" is not a
great name as it can imply that the upstream of the software contained
in the image maintains the images when that is frequently not the
case. As I'm not an ABCL dev myself, the image would be considered
community maintained and the description on Docker Hub would clearly
point to the cl-docker-images/abcl repo as where to file issues with the
images. But it is very conceivable that random users may show up on this
list asking for help. I am subscribed to this list and will do my best
to redirect/answer any of those types of emails that come in.

Thoughts, questions, concerns?

-Eric



More information about the armedbear-devel mailing list