How to Deliver, Deploy and Monitor Docker Containers
The combination of instant startup and reliable execution makes Docker containers ideal for application development and testing. As DevOps teams iterate to deliver faster and automate more, containers help simplify this process with easy developer to test to production flows for services deployed, often in the cloud. However, teams challenged by new complexities and security concerns still struggle with deploying applications into production environments.
Docker from Code to Container explains how containerization enables Continuous Integration and Continuous Delivery processes, shows how you can take Docker to production with confidence, walks you through the process of building applications with Docker Compose, and presents a comprehensive model for monitoring both your application stack and your Docker ecosystem.
Ultimately, you will learn how containers enable DevOps teams build, run and secure their Dockerized applications. In this book you will learn:
- How Docker enables continuous integration and delivery
- How to gauge the health of your Docker ecosystem using analytics
- Best practices for securing Docker containers
What You will Learn
Chapter 1. Docker and DevOps – Enabling DevOps Teams Through Containerization
Software containers are a form of OS virtualization where the running container includes just the minimum operating system resources, memory and services required to run an application or service. Containers enable developers to work with identical development environments and stacks. But they also facilitate DevOps by encouraging the use of stateless designs. Read More…
Chapter 2. Taking Docker to Production with Confidence
Many organizations developing software today use Docker in one way or another. If you go to any software development or DevOps conference and ask a big crowd of people “Who uses Docker?”, most people in the room will raise their hands. But if you now ask the crowd, “Who uses Docker in production?”, most hands will fall immediately. Why is it, that such a popular technology that has enjoyed meteoric growth is so widely used at early phases of the development pipeline, but rarely used in production? Read More…
Chapter 3. How to Build Applications with Docker Compose
Application development for the cloud has always been challenging. Cloud applications tend to run on headless Linux machines, with little or no development tools installed. According to a recent survey, most developers either use Windows or Mac OS X as their primary platform. Statistically, only 21% of all developers appear to use Linux as their primary OS. About 26% use Mac OS X, and the remaining 53% of developers use various versions of Microsoft Windows. So for developers who use Windows or Mac as their primary OS, developing for Linux would require running a Linux VM to test their code. While this isn’t difficult in itself, replicating this VM environment for new team members isn’t easy, especially if there are a lot of tools and libraries that need to be installed to run the application code. Read More…
Chapter 4. Docker Logging and Comprehensive Monitoring
Support for Docker logging has evolved over the past two years, and the improvements made from Docker 1.6 to today have greatly simplified both the process and the options for logging. However, DevOps teams are still challenged with monitoring, tracking and troubleshooting issues in a context where each container emits its own logging data. Machine data can come from numerous sources, and containers may not agree on a common method. Once log data has been acquired, assembling meaningful real-time metrics such as the condition of your host environment, the number of running containers, CPU usage, memory consumption and network performance can be arduous. And if a logging method fails, even temporarily, that data is lost. Read More…
Follow these links to Docker resources including code, apps, articles and blogs.