- Implement a scalable Docker infrastructure that has been optimized for greater efficiency
- Tackle the challenges of large-scale container deployment with this fast-paced guide
- Extend your capabilities as a developer to take full advantage of Docker and containerization
Docker is a portable container format that allows you to run code anywhere from your desktop to the cloud. The workflow around Docker makes development, testing, and deployment much easier and much faster. However, it's essential that you know the best practices most techniques for optimization so Docker can help you deploy your application most effectively.
This comprehensive guide will improve your Docker workflows and will ensure your application's production environment runs smoothly. It starts with a short refresher on working with Docker, then you will learn how to take this basic knowledge to the next level by optimizing your Docker infrastructure and applications at scale. At the end of the book, we will put the concepts and everything you have learned about Docker's features into practice by rolling out supplementary monitoring and troubleshooting instrumentation to your infrastructure. All of these things will ensure your application succeeds using Docker.
What you will learn
- Tune your Dockerfiles and optimize the performance and size of your Docker containers
- Configure and tune your Docker hosts at scale with Chef
- Deploy containers without downtime using load balancers
- Listen to your Docker container and host logs with an ELK stack
- Monitor the performance of your Docker containers with collectd
- Benchmark the performance of your web application containers with Apache JMeter
- Troubleshoot and diagnose containers using standard Linux diagnostic tools
- Prepare for production with the most effective DevOps practices
About the Author
Allan Espinosa is a DevOps practitioner living in Tokyo. He is an active open source contributor to various distributed systems tools, such as Docker and Chef. Allan maintains several Docker images for popular open source software that were popular even before their official release from the upstream open source groups.
In his career, Allan has worked on large distributed systems containing hundreds to thousands of servers in production. He has built scalable applications on various platforms ranging from large supercomputing centers in the U.S. to production enterprise systems in Japan.
Allan can be contacted through his Twitter handle @AllanEspinosa. His personal website at http://aespinosa.github.io contains several blog posts on Docker and distributed systems in general.
Table of Contents
- Preparing Docker Hosts
- Optimizing Docker Images
- Automating Docker Deployments with Chef
- Monitoring Docker Hosts and Containers
- Load Balancing
- Troubleshooting Containers
- Onto Production