What’s Behind Docker’s Host OS Change?

Docker containers are designed to be tiny and portable. The operating system that hosts them should be, too. That, presumably, is why Docker appears to be replacing Ubuntu with the lightweight Alpine Linux OS as the open source host environment for Docker apps.

Late last month, a (self-identified) Docker employee reported in a discussion thread that the company has “hired Natanael Copa, the awesome creator of Alpine Linux and are in the process of switching the Docker official image library from Ubuntu to Alpine.” That would mean that Ubuntu, Canonical’s open source operating system, would no longer be the official host environment for Docker images.

Docker would still work perfectly fine on Ubuntu, of course. Ubuntu would just no longer be the default.

The employee suggested that the switch would benefit Docker developers and users because Alpine is a more minimalist operating system. Like Ubuntu, it is based on the Linux kernel and GNU utilities, but it ships with many fewer programs by default. Since Docker containers don’t need most of the software that is built into Ubuntu, the change would reduce overhead.

In responses to the employee’s report, some writers noted that there are advantages to using a heavier-weight GNU/Linux distribution for Docker. In particular, they wrote, it has more tools available than a minimalist system like Alpine. Plus, there’s no reason you can’t strip Ubuntu or a similar system down to the bare essentials if you just want to run Docker on it.

Practically speaking, the potential change is unlikely to have much of an impact on the way people distribute or use Docker containers. Most administrators will probably just use whichever GNU/Linux distribution they like best, customized however they prefer, as the host environment for Docker.

Still, the report — which has yet to be confirmed by a Docker executive — suggests that Docker wants to maintain as slim a profile as possible. The company’s emphasis seems to be on cutting back everything to a minimum, within containers and the host environment alike — a trend consistent with its recent embrace of Unikernels, another way to deploy apps with very little overhead.

No related content found.