Learn how to deploy and test Linux-based Docker containers with the help of real-world use cases
Key Features
- Understand how to make a deployment workflow run smoothly with Docker containers
- Learn Docker and DevOps concepts such as continuous integration and continuous deployment (CI/CD)
- Gain insights into using various Docker tools and libraries
Book Description
Docker is the de facto standard for containerizing apps, and with an increasing number of software projects migrating to containers, it is crucial for engineers and DevOps teams to understand how to build, deploy, and secure Docker environments effectively. Docker for Developers will help you understand Docker containers from scratch while taking you through best practices and showing you how to address security concerns.
Starting with an introduction to Docker, you'll learn how to use containers and VirtualBox for development. You'll explore how containers work and develop projects within them after you've explored different ways to deploy and run containers. The book will also show you how to use Docker containers in production in both single-host set-ups and in clusters and deploy them using Jenkins, Kubernetes, and Spinnaker. As you advance, you'll get to grips with monitoring, securing, and scaling Docker using tools such as Prometheus and Grafana. Later, you'll be able to deploy Docker containers to a variety of environments, including the cloud-native Amazon Elastic Kubernetes Service (Amazon EKS), before finally delving into Docker security concepts and best practices.
By the end of the Docker book, you'll be able to not only work in a container-driven environment confidently but also use Docker for both new and existing projects.
What you will learn
- Get up to speed with creating containers and understand how they work
- Package and deploy your containers to a variety of platforms
- Work with containers in the cloud and on the Kubernetes platform
- Deploy and then monitor the health and logs of running containers
- Explore best practices for working with containers from a security perspective
- Become familiar with scanning containers and using third-party security tools and libraries
Who this book is for
If you're a software engineer new to containerization or a DevOps engineer responsible for deploying Docker containers in the cloud and building DevOps pipelines for container-based projects, you'll find this book useful. This Docker containers book is also a handy reference guide for anyone working with a Docker-based DevOps ecosystem or interested in understanding the security implications and best practices for working in container-driven environments.
Table of Contents
- Introduction to Docker
- Using VirtualBox and Docker Containers for Development
- Sharing Containers Using Docker Hub
- Composing Systems Using Containers
- Alternatives for Deploying and Running Containers in Production
- Deploying Applications with Docker Compose
- Continuous Deployment with Jenkins
- Deploying Docker Apps to Kubernetes
- Cloud-Native Continuous Deployment Using Spinnaker
- Monitoring Docker Using Prometheus, Grafana, and Jaeger
- Scaling and Load Testing Docker Applications
- Introduction to Container Security
- Docker Security Fundamentals and Best Practices
- Advanced Docker Security – Secrets, Secret Commands, Tagging, and Labels
- Scanning, Monitoring, and Using Third-Party Tools
- Conclusion – End of the Road, but not the Journey