Around 3 years ago I’ve checked the age of various base images available on Docker Hub. Curiosity recently got the better of me, prompting another investigation into the current state of affairs.
Since then, there have been significant changes:
- CentOS 8 has reached its end of life , prompting a shift to CentOS 8 Stream , which is also nearing its demise 🤣
- OpenJDK images have been deprecated and no longer receiving updates. They recommend to switch to alternatives such as: Amazon’s Corretto or Eclipse Temurin (formely AdoptOpenJDK).
Let’s delve into the findings:
Image | Creation date | Age (in days) | Packages to upgrade |
---|---|---|---|
centos:7 | 2021-09-15 | 921 | 51 |
quay.io/centos/centos:centos7 | 2020-11-14 | 1226 | 51 |
quay.io/centos/centos:stream8 | 2024-03-19 | 5 | 2 |
quay.io/centos/centos:stream9 | 2024-03-19 | 5 | 0 |
debian:10 | 2024-03-12 | 12 | 0 |
debian:11 | 2024-03-12 | 12 | 0 |
debian:12 | 2024-03-12 | 12 | 0 |
ubuntu:18.04 | 2023-05-30 | 299 | 1 |
ubuntu:20.04 | 2024-02-16 | 36 | 0 |
ubuntu:22.04 | 2024-02-27 | 26 | 2 |
ubuntu:24.04 | 2024-02-25 | 28 | 10 |
alpine:3.17 | 2024-01-27 | 57 | 1 |
alpine:3.18 | 2024-01-27 | 57 | 1 |
alpine:3.19 | 2024-01-27 | 57 | 1 |
node:16 | 2023-09-08 | 198 | 78 |
node:18 | 2024-03-12 | 12 | 0 |
node:20 | 2024-03-12 | 12 | 0 |
node:21 | 2024-03-12 | 12 | 0 |
openjdk:8 | 2022-08-02 | 600 | 45 |
openjdk:11 | 2022-08-02 | 600 | 45 |
openjdk:17 | 2022-04-27 | 696 | 67 |
openjdk:21 | 2023-09-22 | 184 | 41 |
amazoncorretto:8 | 2024-03-16 | 8 | 0 |
amazoncorretto:11 | 2024-03-16 | 8 | 0 |
amazoncorretto:17 | 2024-03-16 | 8 | 1 |
amazoncorretto:21 | 2024-03-16 | 8 | 0 |
eclipse-temurin:8 | 2024-03-06 | 18 | 4 |
eclipse-temurin:11 | 2024-03-06 | 18 | 4 |
eclipse-temurin:17 | 2024-03-06 | 18 | 4 |
eclipse-temurin:21 | 2024-03-06 | 18 | 4 |
Surprisingly, the results were not as dire as expected. Modern OS versions tend to be reasonably up-to-date. This marks a positive change from the past, where CentOS images were both popular and outdated.
However, it’s worth noting that many users may still be unaware of the age of certain images, such as openjdk, potentially leading to issues down the line. A search on GitHub reveals nearly 300k Dockerfiles referencing FROM openjdk.
How did I collect those numbers?
I wrote a small bash script. Use it as a base to check images of your interest.