Lets start with the point that is not about size, is about the whole ecosystem. Alpine Linux are meant to start with just the necessary package to boot the minimal requirements to use Linux and from that point install and compile your apps base on what you need nothing more nothing less non extra library than Mastodon wont need to execute.
Thats it, you will get a smaller image because of it, unnecessary libraries or apps | packages wont be there. If a library from Ubuntu LTS get a security issue we will need to compile again the image for an external non Mastodon related library. That's the key advance of been using Alpine or slim images. We will care only about security issues about Mastodon libraries related.
Docker is different than using a VM structure it provides certain layers of networking and how it interact with the host that make it strong for deployments and stability.
With a simple ps aux using Ubuntu LTS vs Alpine you will get my point.
Alpine seems to be more solid solution for Docker use than Ubuntu LTS.
$ docker run ubuntu:focal
root@9f7384f1dd5a:/# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 15.0 0.0 4108 3408 pts/0 Ss 10:49 0:00 /bin/bash
root 8 0.0 0.0 5880 2892 pts/0 R+ 10:49 0:00 ps aux
root@9f7384f1dd5a:/# exit
$ docker run alpine
/ # ps aux
PID USER TIME COMMAND
1 root 0:00 /bin/sh
6 root 0:00 ps aux
/ #
I don't get your point. Could you elaborate?
My experiences in the past with Ubuntu vs Alpine and some questions:
Big projects like Mastodon which use more than a few external libraries gain not much by switching to Alpine. They pull so many packages and libraries in that in the end we only save a tiny amount of packages and build time increases.
Python projects lose a lot of pre-compiled wheels. Is that the same with gems?
Jemalloc can improve performance drastically especially for big instances. Are we sure we want to lose this?
The entire ecosystem is more well tested with glibc and Debian/Ubuntu than Alpine. There may be bugs with musl we don't even know about now.
Most helpful comment
I don't get your point. Could you elaborate?
My experiences in the past with Ubuntu vs Alpine and some questions:
Big projects like Mastodon which use more than a few external libraries gain not much by switching to Alpine. They pull so many packages and libraries in that in the end we only save a tiny amount of packages and build time increases.
Python projects lose a lot of pre-compiled wheels. Is that the same with gems?
Jemalloc can improve performance drastically especially for big instances. Are we sure we want to lose this?
The entire ecosystem is more well tested with glibc and Debian/Ubuntu than Alpine. There may be bugs with musl we don't even know about now.