Last week I’ve updated docker to the latest version and found:

 Version:      17.05.0-ce
 API version:  1.29
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)

instead of 1.13.x.

Looking up the documentation I’ve realized that the docker I use now was renamed to Docker Community Edition (Docker CE) and is being released on a new time-based release schedule. Actually, those time-based releases are reflected in Docker version’s now, I found a word about it in the Changelog of ==moby== project. Waaaait… Moby??? What happened to Docker?

Why Moby

From recent anoncement of the moby project we know

The Moby Project … provides a library of components, a framework for assembling them into custom container-based systems…

Also, we know that Docker’s codebase has grown over time and was split into libraries and components such runc, HyperKit, VPNKit, SwarmKit, InfraKit, containerd, etc. Also, Docker is being assembled for several platforms and demand is growing. So Moby is about assembly, this is what article says:

Moby is designed for system builders, who want to build their own container-based systems, not for application developers, who can use Docker or other container platforms.

Good news, not affecting application developers, but still not that clear on what happens to Docker. After researching a bit I came to the conclusion that in essence, Moby project finally separates Docker (the open source project) from Docker Inc (the company). While this is marked by the move of the docker/docker GitHub repository to moby/moby. Just another reorganization.

It looks like there is nothing to worry about, we just can go on with Docker CE

and normal docker users are unaffected by moby, so we can breathe out again ;)

What is Moby doing

To take last confusion from you about moby I try it with the picture being twitted around. I think that illustrates a lot.

On the left side we see all the components and libraries the actual Docker consists of. On the right site, we see different editions or future vendor Docker editions. In that sense moby is a project which provides a “Lego set” of dozens of components and the framework for assembling them. For example Docker CE will be assembled from components that are packaged by the Moby project.