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:
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 is the only platform you need to manage your containers in a versionable, testable and repeatable way. With Chef you can:
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.