Docker Community Edition vs Enterprise Edition and Their Release Cycle
Learn the differences between Docker 1.13 and the current version's format along with CE / EE and the stable vs edge channels.
Prior to March 2017, the latest version of Docker was Docker 1.13, and at the time of writing this article, the latest version of Docker is 17.07.
There’s a pretty big difference between 1.13 and 17.07, and no, they didn’t jump 16 major versions in a few months.
What happened was, on March 2nd 2017, Docker completely changed their version format, and also changed the name of the Docker Engine package to either Docker Community Edition or Docker Enterprise Edition.
For the most part, things will continue to work the same as before, but out in the wild you may find older material that references the old style of how Docker was versioned.
Before we tackle versions, let’s first go over the differences between Docker Community Edition and Docker Enterprise Edition.
Docker Community Edition vs Enterprise Edition
Docker Community Edition, or Docker CE for short is free and open source. It’s just a rebranded name for the same old Docker Engine that was in use for the last couple of years.
Docker CE is aimed at developers and do it yourself ops teams who are looking to Dockerize their applications.
There’s absolutely nothing wrong with this edition. It’s not a watered down, or gimped version of EE. In fact, it has the same core features as enterprise edition.
I am using the community edition to run production systems right now and have been for a number of years (because remember, it used to be the “old” Docker 1.13, etc.).
Docker Enterprise Edition is for when you’re ready to put on your big boy (or girl) pants and run mission critical applications with Docker.
You can still do this with the community edition, but you’re going to miss out on a number of goodies that the enterprise edition offers.
A few Docker Enterprise Edition benefits are:
- Run certified Docker images and plugins
- Leverage Docker Datacenter with various levels of options
- Receive vulnerability scan results on your Docker images
- Get official same day support from Docker
All of this costs some amount of money depending on what tier you want to sign up for and prices range from $750 to $3,000 per year.
If you think Enterprise Edition is something you may want to use, then you can learn more about it here.
How Does Docker Version Their Releases?
Docker Community Edition comes with 2 release channels.
The first one is edge, and its release cycle will be a new version every single month. You would choose this channel if you want to live on the bleeding edge. You’ll get new features every month.
The second channel is stable, and you’ll get a new release every quarter, which is every 3 months. By choosing stable, you need to wait longer for new features but it will be easier to maintain since it doesn’t change as often.
By the way, the edge channel will get security and bug fixes during the month it is current. Where as the stable channel will receive patches for bug fixes and security issues 4 months after its initial release.
Docker Enterprise Edition will be released every quarter and each release is supported and maintained for an entire year.
Both security and general bug fixes will be backported to all supported versions.
Docker release cycle for all releases:
The versioning scheme is tied into the date. For example, 17.03 means year 2017, month 3, which happens to be March.
Then, the next release would be 17.04 which is April 2017, and so on.
This diagram from Docker doesn’t show patch related versions, but if let’s say 17.04 came out but then it needed a bug fix, you would end up seeing a third number after the 04.
If you’re ready to learn and master Docker, the Dive Into Docker course is up to date and is fully compatible with the latest Docker features.
Thoughts on the New Version Scheme
I really like this version change because now we’ll be able to predict when new releases will come out. If you’ve ever been in charge of maintaining a number of servers, you know that a predictable release cycle is a huge win.
Another really nice bonus is being able to tie in a point of time to a release. For example, the old Docker 1.13 version doesn’t say much about when it was released.
If you were new to Docker and saw version 1.13, you would have no idea if it were 2 days or 2 years old.
With the new format, once you understand how it works, you can instantly look at your version and determine how old it is. Then, with the predictable release cycle, you can anticipate the next stable or edge release.
So that’s how versioning works with Docker. My recommendation would be to use the stable CE release unless something pops up in the edge release that you really need.
Sometimes having access to a new feature a few months early is well worth the risk of encountering bugs and it’s not difficult to switch between both channels.
Which release channel of Docker are you using (or plan to use)?