Need advice about which tool to choose?Ask the StackShare community!

Docker

115.2K
91.6K
+ 1
3.8K
Docker Compose

14.9K
10.9K
+ 1
477
Add tool

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.

Decisions about Docker and Docker Compose

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.

See more
Florian Sager
IT DevOp at Agitos GmbH · | 2 upvotes · 207.2K views
Chose
LXDLXD
over
DockerDocker

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.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Docker
Pros of Docker Compose
  • 821
    Rapid integration and build up
  • 688
    Isolation
  • 517
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 459
    Lightweight
  • 217
    Standardization
  • 182
    Scalable
  • 105
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 86
    Security
  • 84
    Private paas environments
  • 33
    Portability
  • 25
    Limit resource usage
  • 15
    I love the way docker has changed virtualization
  • 15
    Game changer
  • 12
    Fast
  • 11
    Concurrency
  • 7
    Docker's Compose tools
  • 4
    Fast and Portable
  • 4
    Easy setup
  • 4
    Because its fun
  • 3
    Makes shipping to production very simple
  • 2
    It's dope
  • 1
    Highly useful
  • 1
    MacOS support FAKE
  • 1
    Its cool
  • 1
    Docker hub for the FTW
  • 1
    Very easy to setup integrate and build
  • 1
    Package the environment with the application
  • 1
    Does a nice job hogging memory
  • 1
    Open source and highly configurable
  • 1
    Simplicity, isolation, resource effective
  • 121
    Multi-container descriptor
  • 109
    Fast development environment setup
  • 75
    Easy linking of containers
  • 66
    Simple yaml configuration
  • 58
    Easy setup
  • 15
    Yml or yaml format
  • 11
    Use Standard Docker API
  • 7
    Open source
  • 4
    Can choose Discovery Backend
  • 4
    Go from template to application in minutes
  • 2
    Scalable
  • 2
    Easy configuration
  • 2
    Kubernetes integration
  • 1
    Quick and easy

Sign up to add or upvote prosMake informed product decisions

Cons of Docker
Cons of Docker Compose
  • 7
    New versions == broken features
  • 5
    Documentation not always in sync
  • 5
    Unreliable networking
  • 3
    Moves quickly
  • 2
    Not Secure
  • 8
    Tied to single machine
  • 5
    Still very volatile, changing syntax often

Sign up to add or upvote consMake informed product decisions

What is Docker?

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?

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.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Docker?
What companies use Docker Compose?
See which teams inside your own company are using Docker or Docker Compose.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Docker?
What tools integrate with Docker Compose?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

PythonDockerKubernetes+7
3
696
PythonDockerKubernetes+14
11
2110
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
1798
DockerAmazon EC2Scala+8
6
2234
GitHubDockerReact+17
34
30378
What are some alternatives to Docker and Docker Compose?
LXC
LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
rkt
Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Cloud Foundry
Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.
Vagrant
Vagrant provides the framework and configuration format to create and manage complete portable development environments. These development environments can live on your computer or in the cloud, and are portable between Windows, Mac OS X, and Linux.
See all alternatives