Quantisan / docker-clojure

Official Docker image for Clojure
https://hub.docker.com/_/clojure/
MIT License
204 stars 34 forks source link

Move some or all of our base images off of openjdk #159

Closed cap10morgan closed 2 years ago

cap10morgan commented 2 years ago

Oracle is at it again and we'll have to move some or all of our base images off of the openjdk ones. Version 17+ at the very least. But I'm kind of inclined to just move everything to the new one we decide on. The consistency will be easier to implement and maintain over time, and Clojure isn't that sensitive about which JDK it's running on (so hopefully wouldn't break backwards compatibility).

Please leave comments, questions, and new base JDK image suggestions (with some "why") below in comments!

cap10morgan commented 2 years ago

The biggest source of breakage and disruption here will be the underlying Linux distro used by the upstream image. A quick check reveals that Eclipse Temurin is based on Ubuntu (likely mild breakage but more than I'd like) and Amazon Corretto is (of course) based on Amazon Linux (RPM-based distro; massive breakage).

Anyone aware of a not-too-exotic JDK distribution whose official Docker images are Debian-based? I'll keep looking too.

cap10morgan commented 2 years ago

If we can't find a new Debian-based official image to move to then we may have to keep Java 8 & 11 images where they're at for now (which from what I can tell is still going to be supported). I wouldn't want to force any more of that kind of breakage than is absolutely necessary.

cap10morgan commented 2 years ago

One of the Docker official image maintainers posted a good reason to move everything over to a new upstream image (i.e. not just Java 17+).

On the other hand, we could leave Java 8 & 11 alone and just let them age out once they're EOL'd.

Thoughts?

cap10morgan commented 2 years ago

One saving grace with switching distros is that because we have those in the tag names (at least for those following our long-standing advice of including every element they rely on in the tag they pull from), this change will be opt-in.

Quantisan commented 2 years ago

If we can't find a new Debian-based official image to move to then we may have to keep Java 8 & 11 images where they're at for now (which from what I can tell is still going to be supported). I wouldn't want to force any more of that kind of breakage than is absolutely necessary.

I'm with you on not forcing anymore breakage than necessary. You're right that 8 and 11 might get stale and we'll need to move them over sooner or later. (FYI 11's EOL is in 2026) But perhaps we can just migrate 17 for now and let folks get used to that before moving the rest over?

There's no clear choice here so I'll leave it to you to decide, @cap10morgan. We should make an announcement though if we're to move 8 and 11 so people using the old images at least have a chance to hear that their base images won't be updated at all anymore.

cap10morgan commented 2 years ago

@Quantisan Agreed to all that. We'll need to make an announcement about 17 anyway (which I can do shortly). But yeah, let's leave 8 and 11 alone for now.

cap10morgan commented 2 years ago

Closing this now since #160 has landed and #161 will soon most likely. :)