Need advice about which tool to choose?Ask the StackShare community!
Compose vs Docker: What are the differences?
Compose: We host databases for busy devs: production-ready, cloud-hosted, open source. Compose makes it easy to spin up multiple open source databases with just one click. Deploy MongoDB for production, take Redis out for a performance test drive, or spin up RethinkDB in development before rolling it out to production; 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.
Compose can be classified as a tool in the "MongoDB Hosting" category, while Docker is grouped under "Virtual Machine Platforms & Containers".
Some of the features offered by Compose are:
- One click, production-ready, cloud hosted MongoDB, Redis, Elasticsearch, PostgreSQL and RethinkDB, with additional databases in beta.
Every deployment features: database autoscaling based on data size usage - private VLAN, IP whitelisting, SSL, full-stack monitoring, custom alerts - HA and fault tolerance with automatic failover
On the other hand, Docker provides the following key features:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
"Simple to set up" is the primary reason why developers consider Compose over the competitors, whereas "Rapid integration and build up" was stated as the key factor in picking Docker.
Docker is an open source tool with 54K GitHub stars and 15.6K GitHub forks. Here's a link to Docker's open source repository on GitHub.
Spotify, Pinterest, and Twitter are some of the popular companies that use Docker, whereas Compose is used by Accenture, Artsy, and FashionUnited. Docker has a broader approval, being mentioned in 3527 company stacks & 3449 developers stacks; compared to Compose, which is listed in 82 company stacks and 19 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 Compose
- Simple to set up42
- One-click mongodb32
- Automated Backups29
- Designed to scale23
- Easy interface21
- Fast and Simple13
- Real-Time Monitoring10
- Fastest MongoDB Available7
- Great Design6
- REST API6
- Easy to set up4
- Free for testing3
- Geospatial support3
- Elasticsearch2
- Heroku Add-on2
- Automated Health Checks1
- Email Support1
- Query Logs1
Pros of Docker
- Rapid integration and build up823
- 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
- Package the environment with the application2
- Super2
- Open source and highly configurable2
- Simplicity, isolation, resource effective2
- MacOS support FAKE2
- Its cool2
- Does a nice job hogging memory2
- Docker hub for the FTW2
- HIgh Throughput2
- Very easy to setup integrate and build2
- Asdfd0
Sign up to add or upvote prosMake informed product decisions
Cons of Compose
Cons of Docker
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3