Interacting with the Docker Community: From Moby to Docker CE!
What is Docker CE?
Docker is a company. Docker is an open source product. Docker is a commercial distribution. Docker is an open source community. Red Hat famously had this problem as well. Multiple times, if you count JBoss. Docker, the company, did what Red Hat, the company, did a while ago. Docker, the company, stayed Docker, the company, and Docker, the open source product, became Docker CE, or Community Edition.
Docker the commercial distribution became Docker EE, or Enterprise Edition. Docker the open source project became Moby, and a handful of other projects where appropriate, such as ContainerD.
What Is New with Containers?
Containers aren’t a new pattern in enterprise computing. What is new in containers is the ubiquity, ease of use, and support that this pattern is receiving from the enterprise community. Everyone’s doing it, and many patterns, such as building a Twelve Factor Application use a lot of the features that come natively with containers! With the increasing popularity of containers, many of us are talking about Docker.
We used to be able to say something like “Docker is an open source container solution that runs on Windows, Mac, and Linux.” However, the truth about the blue whale became a little more elusive back in 2017.
Where Does Docker Community Come From?
When you consider the confusing nature of these kinds of community projects, it helps to have a familiar example. Moby can be likened to the upstream project for RedHat Enterprise Linux (RHEL).
The developers working on the new features and bug fixes for new challenges and problems in EL (Enterprise Linux, as Red Hat and CentOS are known) are working on them first in Fedora Linux. Those changes, such as the migration from the yum package manager in EL 5 through EL 7 (over a decade of history) to dnf in EL 8, started in Fedora, and worked their way downstream to RHEL.
In RedHat’s community configuration, RHEL gets the fixes first, and immediately afterwards, CentOS mirrors those changes to their repositories. In other words, Fedora is upstream of RHEL, which is upstream of CentOS. In Docker’s community configuration, Moby and ContainerD are upstream of Docker CE, which is upstream of Docker EE.
Why Is Docker EE Behind Docker CE?
You may have noticed that Docker EE is behind Docker CE. Why would paying Docker EE customers want an older version Docker CE? Wouldn’t they want to be on the version with the latest, greatest fixes?
For many developers, the choice seems like a no-brainer. However, this is the trade of off using open source, community-supported products versus enterprise editions supported by the primary developer: while a Docker CE user may be on the latest, greatest version of Docker, they also need to stay current on that version of Docker to continue receiving support.
How Do I Get Support for Docker CE?
Since Docker CE is a community open source project, there’s a vibrant, active community of developers who are extremely helpful and ready to help you out! If you’re a small development team, and you’ve run into an issue with Docker CE, here’s the process for getting support.
Your first step is going to be to go to the Docker Community website and sign up for a Slack account. You can find that link here!
After you have signed up for a Slack account, your goal will be to create steps for reproducing the issue you’re having. When you can show the development team exactly what they have to do to make the issue happen for themselves, they can use their skills to quickly identify what’s wrong.
Example of Docker Issue Resolved
Here’s an issue I opened up last year. You can see the test harness we provided the Docker community, and how the community manager was able to quickly identify the issue.
After I opened the issue against moby/moby, the upstream project for Docker CE, the community manager for Docker (Sebastiaan van Stijn, who you can find here) bundled up my issue and similar issues into a bug fix that was ported into Docker CE 19.03. You can see what that process looks like here.
Getting Your Team Supported
Keeping track of your interactions with the community and still pushing out code is work that takes dedicated resources. With open source software support from OpenLogic by Perforce, we can provide support to your enterprise installations of Docker CE.
We work with customers every day to provide best of breed expertise on Docker CE, containerization, and building apps for Kubernetes. Let us know how we can support you in your open source journey! Open a free consultative support ticket with OpenLogic to try our support for your team.