Need advice about which tool to choose?Ask the StackShare community!
Docker vs Docker Compose: 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 Docker Compose? Define and run multi-container applications with Docker. With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to be done to get it running.
Docker belongs to "Virtual Machine Platforms & Containers" category of the tech stack, while Docker Compose can be primarily classified under "Container Tools".
"Rapid integration and build up", "Isolation" and "Open source" are the key factors why developers consider Docker; whereas "Multi-container descriptor", "Fast development environment setup" and "Easy linking of containers" are the primary reasons why Docker Compose is favored.
Docker and Docker Compose are both open source tools. It seems that Docker with 54K GitHub stars and 15.6K forks on GitHub has more adoption than Docker Compose with 16.6K GitHub stars and 2.56K GitHub forks.
Spotify, Pinterest, and Twitter are some of the popular companies that use Docker, whereas Docker Compose is used by StackShare, Typeform, and CircleCI. Docker has a broader approval, being mentioned in 3527 company stacks & 3449 developers stacks; compared to Docker Compose, which is listed in 797 company stacks and 627 developer stacks.
GitHub
is used for version control as it is a standard. GitHub is also chosen due to familiarity and additional features, such as projects, milestones, and issues.
Docker
's Docker Compose
is used to containerize the application, for making it easy to set up developer environments.
Google Analytics
is used for tracking, especially due to the fact that it is integrated with Firebase
as they are both Google products.
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
- Isolation690
- Open source520
- Testability and reproducibility505
- Lightweight459
- Standardization217
- Scalable184
- Upgrading / downgrading / application versions105
- Security87
- Private paas environments84
- Portability33
- Limit resource usage25
- Game changer16
- I love the way docker has changed virtualization15
- Fast13
- Concurrency11
- Docker's Compose tools7
- Easy setup5
- Fast and Portable5
- Because its fun4
- Makes shipping to production very simple3
- It's dope2
- Highly useful2
- HIgh Throughput1
- Very easy to setup integrate and build1
- Package the environment with the application1
- Does a nice job hogging memory1
- Open source and highly configurable1
- Simplicity, isolation, resource effective1
- MacOS support FAKE1
- Its cool1
- Docker hub for the FTW1
- Super1
Pros of Docker Compose
- Multi-container descriptor123
- Fast development environment setup110
- Easy linking of containers79
- Simple yaml configuration68
- Easy setup60
- Yml or yaml format16
- Use Standard Docker API12
- Open source8
- Go from template to application in minutes5
- Can choose Discovery Backend5
- Scalable4
- Easy configuration4
- Kubernetes integration4
- Quick and easy3
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
Cons of Docker Compose
- Tied to single machine9
- Still very volatile, changing syntax often5