The difference between the three versions
There are three versions of docker:
docker.io
debian/ubuntu official version based on docker community source code package, sometimes newer than docker-ce version
Features docker dependencies directly to the main system
docker-ce
The community version released by docker.com, which only maintains the source code
Features dependencies wrapped in a package using golang
docker-ee
The commercial version maintained by docker.com, which has three main levels:
- Basic: Docker platform for certified infrastructure, supported by Docker Inc. and certified containers and plugins from the Docker Store
- Standard: Adds advanced image and container management, LDAP/AD user integration, and role-based access control. Together, these features make up Docker Enterprise Edition
- advanced: adds Docker security scanning and continuous vulnerability monitoring
docker-ce has a fatal flaw - dependencies:
- docker itself depends on hundreds of third-party dependencies
- theoretically, if one dependency goes wrong, you need to completely recompile docker, otherwise you will get all kinds of hack:joy:
- In contrast, docker.io hosts the dependencies on the system and only needs to update the main docker application
High-volume deployments of long-term docker-ce services commonly have problems with containers not loading/running abnormally/behaving inconsistently over time
Update schedule
Starting with Docker 17.03, Docker uses a time-based release schedule:
Month | Docker CE Edge | Docker CE Stable | Docker EE |
---|---|---|---|
January | + | ||
February | + | ||
March | + | + | + |
April | + | ||
May | + | ||
June | + | + | + |
July | + | ||
August | + | ||
September | + | + | + |
October | + | ||
November | + | ||
December | + | + | + |
- docker-ceshould not be used in any product that is expected to run stably
- recommend using docker.io or docker-ee
Using docker-ce in a product is extremely irresponsible