Chapter 7. Configuration management: Getting your house in order

 

This chapter covers

  • Managing the building of images using Dockerfiles
  • Building images using traditional configuration management tools
  • Managing the secret information required to build images
  • Reducing the size of your images for faster, lighter, and safer delivery

Configuration management is the art of managing your environments so that they’re stable and predictable. Tools such as Chef and Puppet have attempted to alleviate the sysadmin burden of managing multiple machines. To an extent, Docker also reduces this burden by making the software environment isolated and portable. Even so, configuration management techniques are required to produce Docker images, and it’s an important topic to recognize.

By the end of the chapter, you’ll know how to integrate your existing tools with Docker, solve some Docker-specific problems like removing secrets from layers, and follow the best practice of minimizing your final image. As you get more experience with Docker, these techniques will give you the ability to build images for whatever configuration needs you’re trying to satisfy.

7.1. Configuration management and Dockerfiles

Dockerfiles are considered to be the standard way of building Docker images. Dockerfiles are often confusing in terms of what they mean for configuration management. You may have many questions (particularly if you have experience with other configuration management tools), such as

7.2. Traditional configuration management tools with Docker

7.3. Small is beautiful

Summary