The current list of variant tags for images use terms that are not defined well.
Though some are terms of art that many Java developers and operators are familiar with, others are generic and ambiguous. The docker-library/docs README.md has a section for variants that only addresses alpine.
As single point of reference, I am a non-developer ops engineer that has been deploying Java applications for 25 years. This is what I understand from the tags:
jre - Just the runtime
jdk - Everything needed for compile, and the runtime
full - No idea how this is different from jdk
headless - Removed dependencies of GUI human interface, but is it jdk or jre?
headful - First use I've ever seen. Assumed opposite of headless, but how different from full or jdk?
generic - No idea
native - No idea
alpine - Well defined in docs README ✅
alpine3 - I assume a newer version of alpine, but I'm not an alpine guy so I'm not sure of the impact.
al2 - AmazonLinux2, but consider that may not be obvious to people outside the Amazon sphere.
al2023 - AmazonLinux2023, same issue as al2 and alpine3. How does this matter in my choice?
I would like to see more explicit definitions included in this repo's README and the docker-library/docs README.
Agreed that many of these labels are not obvious. We have this work planned internally. The updates will be in this repo's readme and the readme in docker-library
The current list of variant tags for images use terms that are not defined well.
Though some are terms of art that many Java developers and operators are familiar with, others are generic and ambiguous. The docker-library/docs README.md has a section for variants that only addresses
alpine
.As single point of reference, I am a non-developer ops engineer that has been deploying Java applications for 25 years. This is what I understand from the tags:
jre
- Just the runtimejdk
- Everything needed for compile, and the runtimefull
- No idea how this is different fromjdk
headless
- Removed dependencies of GUI human interface, but is itjdk
orjre
?headful
- First use I've ever seen. Assumed opposite of headless, but how different fromfull
orjdk
?generic
- No ideanative
- No ideaalpine
- Well defined in docs README ✅alpine3
- I assume a newer version of alpine, but I'm not an alpine guy so I'm not sure of the impact.al2
- AmazonLinux2, but consider that may not be obvious to people outside the Amazon sphere.al2023
- AmazonLinux2023, same issue asal2
andalpine3
. How does this matter in my choice?I would like to see more explicit definitions included in this repo's README and the docker-library/docs README.