Docker is a portable container format that allows you to run code anywhere from your desktop to the cloud. Docker’s workflow makes development, testing, and deployment much easier and much faster. This video course will walk you through a basic deployment-pipeline setup in Jenkins. You will then learn how to create two minimal Docker environments: one for development and one for production. You will then set up Jenkins inside a Docker container to support and automate your deployment pipeline. Next, you will learn how to provide reliability and scalability to your application by setting up a cluster of Docker hosts using Docker’s Swarm mode, and then automate the deployment of Docker hosts using Chef. Finally, you will monitor, log, and manage your Docker containers. Towards the end of this video course, you will work with the various components required to run Docker in production.
Style and Approach We start with a high-level description of continuous delivery and a reference implementation viewers of this video can use.
This volume how to do things manually to give viewers an intuition. The manual steps are paired with a reference implementation on how to automate things to be able to truly scale their production Docker environment.
Table of Contents MULTIPLE DOCKER ENVIRONMENTS SETUP JENKINS SETTING UP DOCKER SWARM MODE AUTOMATING DOCKER HOST DEPLOYMENTS MONITORING AND LOGGING DOCKER MANAGING DOCKER SERVICES What You Will Learn Preparing multiple Docker environments Automate your Docker workflow with Jenkins Setting up a cluster of Docker hosts using Docker’s Swarm mode Automate the deployment of Docker hosts using Chef Monitor, log and manage Docker containers Master the components required to run Docker in production Authors Allan Espinosa Allan Espinosa is a DevOps practitioner and 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.
Throughout 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 to production clusters in the enterprise. He is currently managing distributed systems at scale for Bloomberg, where he oversees the company’s Hadoop infrastructure.