Closed nkadel closed 8 months ago
Hi @nkadel!
We've discussed this in https://github.com/docker-library/official-images/pull/1462 quite a long time ago, but I don't think much changed in regards to "why" and "why not" we should have so many different OSes to support.
According to surveys such as those published by TrueTrust, Ubuntu is roughly 33% of the entire Linux market. Debian is only 16%. I'd say that's a pretty significant change from that thread in 2016. It's not necessarily as clean or elegant as Debian, but it also tends to be noticeably more up-to-date with active development than Debian. It's gotten much more difficult to find DevOps people with hands-on Debian expertise, and who correspondingly are willing to support an OS that is not actively supported in their shop.
I'm afraid I don't have in my hands the load test rig or regression suite to send you a robust Dockerfile, or I'd offer to do so myself.
I don't think Debian is that much different to maintain compared to Ubuntu, but indeed, corporate policies might an issue.
Also, I feel like Ubuntu-based tags in the official images are much less used for the software typically found in stacks with nginx:
thresh official-images/library $ egrep -lE '(ubuntu|trusty|xenial|bionic|focal|jammy|lunar)' *
buildpack-deps
clojure
eclipse-temurin
flink
gazebo
gradle
groovy
ibm-semeru-runtimes
ibmjava
kong
mariadb
maven
mongo
neurodebian
open-liberty
rabbitmq
ros
sapmachine
spark
swift
tomcat
tomee
ubuntu
websphere-liberty
I would like to have @yosifkit and @tianon input on this - I feel like we're not adding much value by adding a new very similar variant with (some) increased maintenance costs.
Prepared to put my keyboard where my mouth is, I went ahead and built a pull request with a very lightly tested build image for Ubuntu 22.04LTS, at https://github.com/nginxinc/docker-nginx/pull/840 . I do that for a lot of RHEL packages, I can do some of the legwork for nginx and Ubuntu. The default nginx in Ubuntu 22.04LTS is 1.18.1, and this uses your hooks to enable containers with nginx 1.25.2, so I think it's a win for any containers stuck with Ubuntu by policy.
Yeah, from most container perspectives, Debian and Ubuntu aren't that different. The diff between the current Debian images and the proposed Ubuntu images is basically just the FROM
value.
In Docker Official Images, we usually push back asking for a justification for needing multiple, very similar OS variants since it doesn't provide much value.
There are only a couple Official Images that have chosen to do both with some parity of variations between Debian and Ubuntu, like clojure
, and it seems that was to add Debian because Ubuntu snap packages are a bit of a pain in containers.
I'm closing this one and the linked PR (https://github.com/nginxinc/docker-nginx/pull/840) for the reasons mentioned above.
Also, It's been a few months and nobody seem to have plus-oned or commented in favor of this change.
Is your feature request related to a problem? Please describe
Please provide a template for Ubuntu images. There are people unfamiliar and uncomfortable with anything but an "approved" operating system, and Ubuntu is far more popular.
Describe the solution you'd like
Publish an Ubuntu template, similar to the Debian template..
Describe alternatives you've considered
Convincing clients to accept Debian as well as Ubuntu, which is often a demanding process.
Additional context
Ubuntu may not perform as well as Debian, which is noted for its stability and lightweight operating system. But having a tool that is sharper and longer is of little benefit if local law enforcement considers it a weapon rather than a tool and arrests you.