Alpine size and Docker Layers

I am designing the containerization of applications at my company. As I look at containers I see a lot of discussion around Alpine.

The basics of the discussion center around the size of Alpine. Alpine is much smaller than other Linux distributions. Alpine has a size of 5 MB (which is amazingly small) compared to Ubuntu which has a size of 188 MB.

But where I am getting confused is why this really matters much. The docker layer containing the operating system should only need to download to the machine once (assuming all containers use the same base image).

For example, assume I have 50 applications that I will put in 1 container each. They each need 50 MB, and I run each of them on docker.

  • Running on Alpine, my 50 containerized applications will take up 2,505 MB of disk space.
  • Running on Ubuntu the 50 applications will take 2,688 MB of disk space.

That is only a 7% difference. Disk space is not very expensive. So the extra 183 MB that Ubuntu takes to be able to run all the containers does not seem to really matter much.

But Alpine really has a lot of popularity. So I have to think I am missing something. Maybe it uses less memory? Or it is faster?

What (besides disk space) makes Alpine so compelling as a container platform?

Source: StackOverflow