Get Advice Icon

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

Chef
Chef

970
634
+ 1
327
Docker Compose
Docker Compose

4.9K
3.4K
+ 1
446
Add tool

Chef vs Docker Compose: What are the differences?

What is Chef? Build, destroy and rebuild servers on any public or private cloud. Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.

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.

Chef can be classified as a tool in the "Server Configuration and Automation" category, while Docker Compose is grouped under "Container Tools".

"Dynamic and idempotent server configuration" is the top reason why over 104 developers like Chef, while over 111 developers mention "Multi-container descriptor" as the leading cause for choosing Docker Compose.

Chef and Docker Compose are both open source tools. Docker Compose with 16.4K GitHub stars and 2.52K forks on GitHub appears to be more popular than Chef with 5.83K GitHub stars and 2.35K GitHub forks.

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

What is Chef?

Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.

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.
Get Advice Icon

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

Why do developers choose Chef?
Why do developers choose Docker Compose?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use Chef?
    What companies use Docker Compose?

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

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

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

    What are some alternatives to Chef and Docker Compose?
    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.
    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.
    Capistrano
    Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.
    Fabric
    Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. It provides a basic suite of operations for executing local or remote shell commands (normally or via sudo) and uploading/downloading files, as well as auxiliary functionality such as prompting the running user for input, or aborting execution.
    Salt
    Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
    See all alternatives
    Decisions about Chef and Docker Compose
    Sebastian Gębski
    Sebastian Gębski
    CTO at Shedul/Fresha · | 6 upvotes · 47.5K views
    atFresha EngineeringFresha Engineering
    Amazon RDS
    Amazon RDS
    Amazon S3
    Amazon S3
    Amazon EKS
    Amazon EKS
    Amazon EC2
    Amazon EC2
    Ansible
    Ansible
    Terraform
    Terraform
    Kubernetes
    Kubernetes
    Docker Compose
    Docker Compose
    Docker
    Docker

    Heroku was a decent choice to start a business, but at some point our platform was too big, too complex & too heterogenic, so Heroku started to be a constraint, not a benefit. First, we've started containerizing our apps with Docker to eliminate "works in my machine" syndrome & uniformize the environment setup. The first orchestration was composed with Docker Compose , but at some point it made sense to move it to Kubernetes. Fortunately, we've made a very good technical decision when starting our work with containers - all the container configuration & provisions HAD (since the beginning) to be done in code (Infrastructure as Code) - we've used Terraform & Ansible for that (correspondingly). This general trend of containerisation was accompanied by another, parallel & equally big project: migrating environments from Heroku to AWS: using Amazon EC2 , Amazon EKS, Amazon S3 & Amazon RDS.

    See more
    Marcel Kornegoor
    Marcel Kornegoor
    CTO at AT Computing · | 5 upvotes · 91K views
    atAT ComputingAT Computing
    Python
    Python
    Chef
    Chef
    Puppet Labs
    Puppet Labs
    Ansible
    Ansible
    Google Compute Engine
    Google Compute Engine
    Kubernetes
    Kubernetes
    Docker
    Docker
    GitHub
    GitHub
    VirtualBox
    VirtualBox
    Jenkins
    Jenkins
    Visual Studio Code
    Visual Studio Code
    Fedora
    Fedora
    Red Hat Enterprise Linux
    Red Hat Enterprise Linux
    Debian
    Debian
    CentOS
    CentOS
    Ubuntu
    Ubuntu
    Linux
    Linux
    #ATComputing

    Since #ATComputing is a vendor independent Linux and open source specialist, we do not have a favorite Linux distribution. We mainly use Ubuntu , Centos Debian , Red Hat Enterprise Linux and Fedora during our daily work. These are also the distributions we see most often used in our customers environments.

    For our #ci/cd training, we use an open source pipeline that is build around Visual Studio Code , Jenkins , VirtualBox , GitHub , Docker Kubernetes and Google Compute Engine.

    For #ServerConfigurationAndAutomation, we have embraced and contributed to Ansible mainly because it is not only flexible and powerful, but also straightforward and easier to learn than some other (open source) solutions. On the other hand: we are not affraid of Puppet Labs and Chef either.

    Currently, our most popular #programming #Language course is Python . The reason Python is so popular has to do with it's versatility, but also with its low complexity. This helps sysadmins to write scripts or simple programs to make their job less repetitive and automating things more fun. Python is also widely used to communicate with (REST) API's and for data analysis.

    See more
    GitHub
    GitHub
    nginx
    nginx
    ESLint
    ESLint
    AVA
    AVA
    Semantic UI React
    Semantic UI React
    Redux
    Redux
    React
    React
    PostgreSQL
    PostgreSQL
    ExpressJS
    ExpressJS
    Node.js
    Node.js
    FeathersJS
    FeathersJS
    Heroku
    Heroku
    Amazon EC2
    Amazon EC2
    Kubernetes
    Kubernetes
    Jenkins
    Jenkins
    Docker Compose
    Docker Compose
    Docker
    Docker
    #Frontend
    #Stack
    #Backend
    #Containers
    #Containerized

    Recently I have been working on an open source stack to help people consolidate their personal health data in a single database so that AI and analytics apps can be run against it to find personalized treatments. We chose to go with a #containerized approach leveraging Docker #containers with a local development environment setup with Docker Compose and nginx for container routing. For the production environment we chose to pull code from GitHub and build/push images using Jenkins and using Kubernetes to deploy to Amazon EC2.

    We also implemented a dashboard app to handle user authentication/authorization, as well as a custom SSO server that runs on Heroku which allows experts to easily visit more than one instance without having to login repeatedly. The #Backend was implemented using my favorite #Stack which consists of FeathersJS on top of Node.js and ExpressJS with PostgreSQL as the main database. The #Frontend was implemented using React, Redux.js, Semantic UI React and the FeathersJS client. Though testing was light on this project, we chose to use AVA as well as ESLint to keep the codebase clean and consistent.

    See more
    Interest over time
    Reviews of Chef and Docker Compose
    No reviews found
    How developers use Chef and Docker Compose
    Avatar of Chris Saylor
    Chris Saylor uses Docker ComposeDocker Compose

    Since our production deployment makes use of the Convox platform, we use this to describe the containers to be deployed via Convox to AWS ECS.

    We also use this for our local dev environment (previously used vagrant with chef).

    Avatar of Scrayos UG (haftungsbeschränkt)
    Scrayos UG (haftungsbeschränkt) uses Docker ComposeDocker Compose

    Aside from our Minecraft-infrastructure, we compose it with ... Docker Compose! (kinda obious, eh .. ?) This includes for example the web-services, aswell as the monitoring and mail-infrastructure.

    Avatar of sapslaj
    sapslaj uses Docker ComposeDocker Compose

    Docker Compose is just another part of my "infrastructure as code" initiative and allows me to build isolated pieces of systems with their own volumes and networks.

    Avatar of Sathish N
    Sathish N uses Docker ComposeDocker Compose

    Our application will consist of several containers each communicating with each other. Using docker-compose, we can orchestrate several containers at once.

    Avatar of Goyoboard
    Goyoboard uses ChefChef

    Out custom recipes makes it simple for developers bootstrap process (using vagrant) and that same recipe is also the one that is used to prep instances

    Avatar of Curabase
    Curabase uses Docker ComposeDocker Compose

    The core tech in ACS (Azure Container Services) we spin up a Kubernetes cluster and deploy our app into staging and production environments here.

    Avatar of Zinc
    Zinc uses ChefChef

    We use Chef for our configuration management and our service discovery.

    Avatar of EverTrue
    EverTrue uses ChefChef

    Configuration management for any services not provided by AWS.

    Avatar of Hund
    Hund uses ChefChef

    Distributed application deployments and server configuration.

    Avatar of James Salas
    James Salas uses ChefChef

    Configuration and deployment of application

    How much does Chef cost?
    How much does Docker Compose cost?
    Pricing unavailable