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 a new feature called actions.

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 and protect against configuration drift as they run.
  • Provision and configure the environments that host containers.
  • Manage complex, bidirectional dependencies among containers and other nodes on your network.

For example, to configure a Postgres container, use Chef to create the container image with cookbooks that correctly install the package. Use Chef to provision and manage the container's host and deploy the container to it. When the container runs, you might need to configure access control or perform other tasks that make the containerized app meet the requirements of its environment, whether dev, test or production.

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