Hacker News new | ask | show | jobs
by drdaeman 1082 days ago
> Ubuntu powers the overwhelming majority of Azure workloads

I expect this to shift. Some years ago `FROM ubuntu:something` was a go-to for Dockerfiles when I wasn't feeling fancy with `FROM alpine` or `FROM busybox` (or `FROM scratch`). Today if I need a generic distro base, I'm consciously going with Debian-based images and Ubuntu is never an option anymore (it used to be "Debian, but better", it became "Debian, but worse").

And I strongly suspect I'm very much not alone. So give it a few years while people convert and upgrade stuff and this might be not exactly longer true.

3 comments

Ha, it's the reverse for me.

I used to use Debian base image, but now switch to Ubuntu LTS base images almost exclusively due to them offering newer versions of most core libraries, and longer support duration.

> them offering newer versions of most core libraries

Is that actually true? Debian has managed pretty consistent 2 year release cadence, same as Ubuntu LTS, so based on that alone they should on average have similar library freshness. Basically Debian releases on odd years, Ubuntu LTS on even years. I suppose Debian might have slightly longer freeze periods.

Surprisingly enough, if your primary motivation for doing this is to save system resources, it might be misguided. ubuntu-base docker images are slimmer than contemporary debian slim, even, though debian seems to have been closing the gap recently - I recall the discrepancy as larger. Below shows image sizes in MB as of today:

  docker.io/debian:bullseye         123.4
  docker.io/debian:bookworm         115.7
  docker.io/debian:bullseye-slim    80.1
  docker.io/ubuntu:22.04            76.6
  docker.io/debian:bookworm-slim    74.2
  docker.io/ubuntu:23.04            69.4
This is specific to docker images, while default ubuntu server or desktop releases are otherwise very much a bloat-fest compared to debian.
Generally agree: these days almost all of my images are either Alpine-based, or Debian-based. For example, the upstream _/ruby and _/python images offer both of those as the only base OS (well, aside from Windows Server Core apparently?) options, which alone makes up a huge chunk of Docker uses. (this is evidently because buildpack-deps offers Debian and Alpine bases, and these images both base from that to try to share layers, neat)