CivMC / Civ

Monorepo for development of and running a Civ Server.
MIT License
4 stars 10 forks source link

Use alpine images where available #462

Closed griffinht closed 2 years ago

griffinht commented 2 years ago

Why not use Alpine Linux Docker images in certain places? These tend to be much smaller in size.

rabbitmq has some alpine tags which could be used. Additionally, why is the management tag of rabbitmq used? It doesn't seem to be used and takes extra space.

itzg/minecraft-server also has some alpine tags.

postgres has some alpine tags, but it seems like https://hub.docker.com/r/timescale/timescaledb/tags is being used instead. I assume this is intentional.

AngrySoundTech commented 2 years ago

Alpine images are nice for their small size and useful in automation tasks sometimes, such as CI, or places were you're running multiple workloads and scaling horizontally. But, as a tradeoff they're usually if not always noticeably slower and not good for running single large stateful applications. Specifically, alpine uses musl instead of glibc which causes most of it.

Not only that, but debian/ubuntu base images have a much larger backing behind them which means better support in terms of updates and patching vulnerabilities.

In most cases, I think the decision to use alpine images is always a bit of a premature optimization, without thinking of the downsides and for the marginal benefit of being ~100MB smaller