Docker Compose vs Puppet Labs

Get Advice Icon

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

Docker Compose

21.8K
16.4K
+ 1
501
Puppet Labs

1.1K
793
+ 1
227
Add tool

Docker Compose vs Puppet Labs: What are the differences?

Developers describe Docker Compose as "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. On the other hand, Puppet Labs is detailed as "Server automation framework and application". Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.

Docker Compose and Puppet Labs are primarily classified as "Container" and "Server Configuration and Automation" tools respectively.

"Multi-container descriptor" is the top reason why over 111 developers like Docker Compose, while over 45 developers mention "Devops" as the leading cause for choosing Puppet Labs.

Docker Compose and Puppet Labs are both open source tools. Docker Compose with 16.4K GitHub stars and 2.52K forks on GitHub appears to be more popular than Puppet Labs with 5.34K GitHub stars and 2.1K GitHub forks.

According to the StackShare community, Docker Compose has a broader approval, being mentioned in 787 company stacks & 608 developers stacks; compared to Puppet Labs, which is listed in 181 company stacks and 48 developer stacks.

Advice on Docker Compose and Puppet Labs
Needs advice
on
AnsibleAnsibleChefChef
and
Puppet LabsPuppet Labs

I'm just getting started using Vagrant to help automate setting up local VMs to set up a Kubernetes cluster (development and experimentation only). (Yes, I do know about minikube)

I'm looking for a tool to help install software packages, setup users, etc..., on these VMs. I'm also fairly new to Ansible, Chef, and Puppet. What's a good one to start with to learn? I might decide to try all 3 at some point for my own curiosity.

The most important factors for me are simplicity, ease of use, shortest learning curve.

See more
Replies (2)
Recommends
on
AnsibleAnsible

I have been working with Puppet and Ansible. The reason why I prefer ansible is the distribution of it. Ansible is more lightweight and therefore more popular. This leads to situations, where you can get fully packaged applications for ansible (e.g. confluent) supported by the vendor, but only incomplete packages for Puppet.

The only advantage I would see with Puppet if someone wants to use Foreman. This is still better supported with Puppet.

See more
Gabriel Pa
Recommends
on
KubernetesKubernetes
at

If you are just starting out, might as well learn Kubernetes There's a lot of tools that come with Kube that make it easier to use and most importantly: you become cloud-agnostic. We use Ansible because it's a lot simpler than Chef or Puppet and if you use Docker Compose for your deployments you can re-use them with Kubernetes later when you migrate

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Docker Compose
Pros of Puppet Labs
  • 123
    Multi-container descriptor
  • 110
    Fast development environment setup
  • 79
    Easy linking of containers
  • 68
    Simple yaml configuration
  • 60
    Easy setup
  • 16
    Yml or yaml format
  • 12
    Use Standard Docker API
  • 8
    Open source
  • 5
    Go from template to application in minutes
  • 5
    Can choose Discovery Backend
  • 4
    Scalable
  • 4
    Easy configuration
  • 4
    Kubernetes integration
  • 3
    Quick and easy
  • 52
    Devops
  • 44
    Automate it
  • 26
    Reusable components
  • 21
    Dynamic and idempotent server configuration
  • 18
    Great community
  • 12
    Very scalable
  • 12
    Cloud management
  • 10
    Easy to maintain
  • 9
    Free tier
  • 6
    Works with Amazon EC2
  • 4
    Declarative
  • 4
    Ruby
  • 3
    Works with Azure
  • 3
    Works with OpenStack
  • 2
    Nginx
  • 1
    Ease of use

Sign up to add or upvote prosMake informed product decisions

Cons of Docker Compose
Cons of Puppet Labs
  • 9
    Tied to single machine
  • 5
    Still very volatile, changing syntax often
  • 3
    Steep learning curve
  • 1
    Customs types idempotence

Sign up to add or upvote consMake informed product decisions

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.

What is Puppet Labs?

Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.

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

What companies use Docker Compose?
What companies use Puppet Labs?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with Docker Compose?
What tools integrate with Puppet Labs?

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

What are some alternatives to Docker Compose and Puppet Labs?
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.
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
Docker Swarm
Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself.
Helm
Helm is the best way to find, share, and use software built for Kubernetes.
Ansible
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.
See all alternatives