Get Advice Icon

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

Chef
Chef

965
632
+ 1
327
Docker
Docker

26.4K
20.7K
+ 1
3.8K
Add tool

Chef vs Docker: What are the differences?

Developers describe Chef as "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. On the other hand, Docker is detailed as "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.

Chef belongs to "Server Configuration and Automation" category of the tech stack, while Docker can be primarily classified under "Virtual Machine Platforms & Containers".

Some of the features offered by Chef are:

  • Access to 800+ Reusable Cookbooks
  • Integration with Leading Cloud Providers
  • Enterprise Platform Support including Windows and Solaris

On the other hand, Docker provides the following key features:

  • Integrated developer tools
  • open, portable images
  • shareable, reusable apps

"Dynamic and idempotent server configuration" is the top reason why over 104 developers like Chef, while over 816 developers mention "Rapid integration and build up" as the leading cause for choosing Docker.

Chef and Docker are both open source tools. Docker with 54K GitHub stars and 15.6K forks on GitHub appears to be more popular than Chef with 5.86K GitHub stars and 2.36K GitHub forks.

According to the StackShare community, Docker has a broader approval, being mentioned in 3527 company stacks & 3449 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?

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

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

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

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?

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

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

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

    What are some alternatives to Chef and Docker?
    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
    No stack decisions found
    Interest over time
    Reviews of Chef and Docker
    Avatar of gdi2290
    Co-Founder and CTO at Tipe
    Review ofDockerDocker

    Docker is the new kid on the block disrupting virtualization nowadays. You're able to save up to 70% of your development cost on AWS (or any other cloud) switching to Docker. For example instead of paying for many small VMs you can spin up a large one with many Docker containers to drastically lower your cost. That alone is only one of the reasons why Docker is the future and it's not even the best feature: isolation, testa­bil­i­ty, re­pro­ducibil­i­ty, standardization, security, and upgrading / down­grad­ing / ap­pli­ca­tion versions to name a few. You can spin up 1000's of Docker containers on an ordinary Laptop, but you would have trouble spinning up 100's of VMs. If you haven't already checked out Docker you're missing out on a huge opportunity to join the movement that will change development/production environments forever

    Review ofDockerDocker

    The support for macOS is a fake.

    I can't work with docker in macOS because de network and comunications with the container don't works correctly.

    How developers use Chef and Docker
    Avatar of ssshake
    ssshake uses DockerDocker

    Currently experimenting. The idea is to isolate any services where I'm not confident yet in their security/quality. The hope is that if there is an exploit in a given service that an attacker won't be able break out of the docker container and cause damage to my systems.

    An example of a service I would isolate in a docker container would be a minecraft browser map application I use. I don't know who wrote it, I don't know who's vetting it, I don't know the source code. I would feel a lot better putting this in a container before I expose it to the internet.

    I believe I will follow this process for anything that's not properly maintained (not in an trusted apt-repo or some other sort of confidence)

    Avatar of AngeloR
    AngeloR uses DockerDocker

    We are testing out docker at the moment, building images from successful staging builds for all our APIs. Since we operate in a SOA (not quite microservices), developers have a dockerfile that they can run to build the entirety of our api infrastructure on their machines. We use the successful builds from staging to power these instances allowing them to do some more manual integration testing across systems.

    Avatar of Yaakov Gesher
    Yaakov Gesher uses DockerDocker

    Each component of the app was launched in a separate container, so that they wouldn't have to share resources: the front end in one, the back end in another, a third for celery, a fourth for celery-beat, and a fifth for RabbitMQ. Actually, we ended up running four front-end containers and eight back-end, due to load constraints.

    Avatar of sapslaj
    sapslaj uses DockerDocker

    Linux containers are so much more lightweight than VMs which is quite important for my limited budget. However, Docker has much more support and tooling for it unlike LXC, hence why I use it. rkt is interesting, although I will probably stick with Docker due to being more widespread.

    Avatar of Packet
    Packet uses DockerDocker

    We are running primarily as a micro-services platform and Docker lets us iterate on these smaller units consistently from dev to staging to production. It is also integral to our continuous deployment system for rolling out or rolling back new features.

    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 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 cost?
    Pricing unavailable