Need advice about which tool to choose?Ask the StackShare community!
Docker vs OpenStack: What are the differences?
What is Docker? 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.
What is OpenStack? Open source software for building private and public clouds. OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
Docker and OpenStack are primarily classified as "Virtual Machine Platforms & Containers" and "Open Source Cloud" tools respectively.
Some of the features offered by Docker are:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
On the other hand, OpenStack provides the following key features:
- Compute
- Storage
- Networking
"Rapid integration and build up" is the primary reason why developers consider Docker over the competitors, whereas "Private cloud" was stated as the key factor in picking OpenStack.
Docker is an open source tool with 53.8K GitHub stars and 15.5K GitHub forks. Here's a link to Docker's open source repository on GitHub.
Lyft, StackShare, and Shopify are some of the popular companies that use Docker, whereas OpenStack is used by PayPal, HubSpot, and Wikipedia. Docker has a broader approval, being mentioned in 3471 company stacks & 3322 developers stacks; compared to OpenStack, which is listed in 66 company stacks and 50 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.
Pros of Docker
- Rapid integration and build up824
- Isolation692
- Open source521
- Testability and reproducibility505
- Lightweight460
- Standardization218
- Scalable185
- Upgrading / downgrading / application versions106
- Security88
- Private paas environments85
- Portability34
- Limit resource usage26
- Game changer17
- I love the way docker has changed virtualization16
- Fast14
- Concurrency12
- Docker's Compose tools8
- Easy setup6
- Fast and Portable6
- Because its fun5
- Makes shipping to production very simple4
- Highly useful3
- It's dope3
- Its cool2
- MacOS support FAKE2
- Simplicity, isolation, resource effective2
- Open source and highly configurable2
- Does a nice job hogging memory2
- Package the environment with the application2
- Very easy to setup integrate and build2
- HIgh Throughput2
- Docker hub for the FTW2
- Super2
- Asdfd0
Pros of OpenStack
- Private cloud56
- Avoid vendor lock-in37
- Flexible in use22
- Industry leader6
- Supported by many companies in top5004
- Robust architecture4
Sign up to add or upvote prosMake informed product decisions
Cons of Docker
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3