Managing Containers with Chef

Chef is a powerful automation platform for managing and configuring containers. Instead of roll-your-own management solutions, use Chef to build an industrial-strength workflow that combines the power of Chef with the convenience of containers.

Get Chef Request a Demo

Demo: Using Chef with Docker

Chef is the first and only IT automation platform to show how to incorporate containers into an industrial strength workflow. If you attended ChefConf 2014, you saw Mandi Walls deliver a delightful demonstration of how Chef can automate the creation, management, and monitoring of Docker containers.

In this demo:
  • Chef creates a container image.
  • Chef provisions and configures a Docker host environment.
  • Chef launches container instances.
  • Chef configures, monitors, and manages the new containers while they run.
  • Chef lets you analyze what you’ve done using Chef Analytics.

Containers and Complexity

Application containers are an OS feature that allows you to run your app in an isolated environment, without the need for a separate kernel. They're like lightweight VMs. Containers give you a great way to start and stop applications and control the resources they use. They're also easy to deploy, especially with tools such as Docker.

However, containers themselves require management. How do you configure and tune the OS that will host them? How do you adapt your containers at run time to the needs of the dev, test and production environments they're in? You can use discovery services or you can roll your own solutions, but the need to monitor and manage your containers in an automated way remains.

Chef and Containers

Chef is the only platform you need to manage your containers in a versionable, testable and repeatable way. With Chef you can:

  • Create container images and deploy them.
  • Configure containers when they boot
  • Provision and configure the environments that host containers.

For example, use Packer with Chef to create the container image with cookbooks that correctly install your software application. Use Chef cookbooks to provision and manage the container's host, and use Chef Provisioning with the Docker or LXC driver to deploy a new running container. Finally, use Chef's service discovery cookbooks to change runtime state, whether you are using etcd, fleet, consul, or other technologies.

Chef gives you the power to build an efficient workflow that's suitable for each stage of your container-based development and release pipeline.

Learn More

Want to learn more? Go to the reference page for Chef & container resources