Docker vs OpenShift: What are the differences?
Developers describe Docker as "Enterprise Container Platform for High-Velocity Innovation". The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere. On the other hand, OpenShift is detailed as "Red Hat's free Platform as a Service (PaaS) for hosting Java, PHP, Ruby, Python, Node.js, and Perl apps". OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.
Docker belongs to "Virtual Machine Platforms & Containers" category of the tech stack, while OpenShift can be primarily classified under "Platform as a Service".
Some of the features offered by Docker are:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
On the other hand, OpenShift provides the following key features:
- Built-in support for Node.js, Ruby, Python, PHP, Perl, and Java (the standard in today's Enterprise)
- OpenShift is extensible with a customizable cartridge functionality that allows developers to add any other language they wish. We've seen everything from Clojure to Cobol running on OpenShift.
- OpenShift supports frameworks ranging from Spring, to Rails, to Play
"Rapid integration and build up" is the top reason why over 816 developers like Docker, while over 95 developers mention "Good free plan" as the leading cause for choosing OpenShift.
Docker and OpenShift are both open source tools. Docker with 54K GitHub stars and 15.6K forks on GitHub appears to be more popular than OpenShift with 915 GitHub stars and 563 GitHub forks.
Spotify, Pinterest, and Twitter are some of the popular companies that use Docker, whereas OpenShift is used by Accenture, Vungle, and Hazeorid. Docker has a broader approval, being mentioned in 3527 company stacks & 3449 developers stacks; compared to OpenShift, which is listed in 50 company stacks and 52 developer stacks.
lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.