Introduction
The previous chapter on security covered some best practices for Docker images and services that have adhered to these best practices. We made sure that our images and services were secure and that they limited what could be achieved if an attacker was able to access the image. This chapter will not only take you through the best practices in creating and running our Docker images, but will also focus on container performance, configuring our services, and ensuring that the services running on them are running as efficiently as possible.
We will start this chapter with an in-depth look at how you can both monitor and configure the resources being used by your services, such as memory and CPU usage. We will then take you through some important practices that you can implement in your projects, looking at how you create your Docker images and the applications that are running on them. Lastly, this chapter will give you some practical tools to use to test your Dockerfiles...