O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Docker Orchestration and Microservices, Second Edition

Video Description

2+ Hours of Video Instruction

Docker Orchestration and Microservices LiveLessons, Second Edition, provides developers with key insights and best practices for how to develop and orchestrate containerized microservices.


In this video training, Charles D. Crawford starts by introducing some of the motivations behind microservices and how to properly containerize web applications using Docker. He then does a quick overview of how Docker registries can help to store artifacts from your built images. Following this, he walks you through Docker's latest tools: docker-compose, docker-machine, and docker-swarm. Specifically, Charlie covers how to use these tools to aid in both developing and deploying to a wide variety of system and container configurations. He then turns to Kubernetes, the popular container orchestration system created by Google. After watching this video, developers will have a strong understanding of modern containerized applications and microservices and will understand how these systems can benefit them.

About the Instructor

Charles David Crawford has more than ten years of software experience and five years of experience in software education. He is currently a lead instructor at Code Fellows, where he teaches full-stack web programming. He is also an active software and writing consultant and the director of marketing for Hack The People, a distributed nonprofit organization focused on fostering mentor-mentee relationships in software development. Additionally, Charlie is an active blog contributor at The New Stack, a site featuring news about and analysis of an ever-changing software development ecosystem. Prior to this, Charlie was a developer evangelist for Shippable, a SaaS that leverages Docker to provide continuous integration services. He was also a software engineer at Amazon Web Services on the Elastic Beanstalk team, where he worked on things such as the Elastic Beanstalk Ruby container, Nodejs container, and the Docker container.

Skill Level

  • Intermediate

Learn How To

  • Begin designing your web apps as microservices
  • Use Docker to containerize your microservices
  • Leverage modern Docker orchestration tools to aid in both developing and deploying your applications
  • Use Google’s container orchestration platform Kubernetes
  • Interpret the modern DevOps and container orchestration landscape

Who Should Take This Course

  • Users of Docker who are looking to move from ad-hoc setups to more formal and powerful orchestrated setups.
  • Those interested in microservice-based architectures

Course Requirements

  • Basic understanding of Docker
  • Understanding of web services
  • A programming background

Related Files

The supplemental content for this LiveLesson can be downloaded from https://github.com/CADBOT/docker-livelessons-notes.

Lesson Descriptions

Lesson 1: Thinking in Terms of Microservices

Lesson 1 covers the basics of what a microservice is, what problems it solves, and new challenges microservices bring. Also discussed is how Docker fits into microservices and how it can be a great help in developing microservice-based systems.

Lesson 2: Dockerizing Your Microservices

Lesson 2 looks at creating a basic microservice using Node.js. Next, this lesson covers how to create a Docker image containing the microservice and its dependencies.

Lesson 3: Using Registries to Store and Distribute Docker

Lesson 3 looks at using the Docker Hub service as a repository to store your custom docker images. Additionally covered is how to trigger automatic rebuilds of Docker images upon a code push to Github.

Lesson 4: Deploying Single Instance Single Container Apps with Docker Machine

Lesson 4 covers doing basic dockerized app deployments using Docker Machine. This sets the foundation for work in future lessons with Docker Compose and Docker swarm.

Lesson 5: Local Development of Microservices-Based Apps with Docker Compose

Lesson 5 explores how Docker is not only useful in a production environment, but a development one as well. One of the largest challenges of microservices is the more complex setup required for a development environment; however, Docker Compose makes local development easier than ever.

Lesson 6: Deploying Single Instance Multi-Container Apps with Docker Compose and Docker Machine

Lesson 6 is about extending Docker Compose beyond development environments to do multi-container apps on a single instance, quickly and easily.

Lesson 7: Multi­Instance Multi-Container Applications with Docker Swarm, Stack, and Compose

Lesson 7 is where we take our first look at complex multi-instance and multi-container deployments. Docker Swarm is built on the Docker API, so a lot of knowledge carries over from vanilla Docker, but there are still additional swarm constructs to learn, such as the master and slave node systems.

Lesson 8: Advanced Docker Swarm Configuration

Lesson 8 takes a deeper look into Docker Swarm and teaches you about advanced configuration options such as container affinities.

Lesson 9: Container Orchestration with Kubernetes

Lesson 9 looks at Kubernetes, which takes a different approach to orchestration than Swarm. Kubernetes brings in many new concepts such as pods, replication controllers, services, and more.

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of Contents

  1. Introduction
    1. Docker Orchestration and Microservices: Introduction 00:02:57
    2. Understand basic Docker concepts 00:12:48
    3. Using Dockerfiles to create images 00:06:32
  2. Lesson 1: Thinking in Terms of Microservices
    1. Learning objectives 00:00:37
    2. 1.1 Understand microservices 00:03:09
    3. 1.2 Understand what problems microservices solve 00:02:36
    4. 1.3 Understand the complexities introduced by microservices 00:02:06
    5. 1.4 Define an example of a microservice-based architecture 00:01:36
  3. Lesson 2: Dockerizing Your Microservices
    1. Learning objectives 00:00:50
    2. 2.1 Understand how Docker can benefit a microservice architecture 00:02:39
    3. 2.2 Create a Docker container for each app 00:10:37
    4. 2.3 Configure your apps for both production and development 00:01:15
  4. Lesson 3: Using Registries to Store and Distribute Docker Images
    1. Learning objectives 00:00:39
    2. 3.1 Define a Docker registry 00:03:03
    3. 3.2 Configure your Docker image to be pushed to Docker Hub 00:01:42
    4. 3.3 Configure your Docker image to be rebuilt upon code pushes to Github 00:02:42
  5. Lesson 4: Deploying Single Instance Single Container Apps with Docker Machine
    1. Learning objectives 00:01:10
    2. 4.1 Understand how Docker Machine works 00:02:15
    3. 4.2 Use Docker Machine to simulate deployment with a VM 00:06:51
    4. 4.3 Use Docker Machine to deploy to a cloud provider 00:03:50
    5. 4.4 Understand the basics of multi-container apps 00:01:30
  6. Lesson 5: Local Development of Microservices-Based Apps with Docker Compose
    1. Learning objectives 00:00:59
    2. 5.1 Define application topologies with Docker Compose 00:13:23
    3. 5.2 Connect a local test DB with Docker Compose 00:09:39
    4. 5.3 Define the right sub­topology for each microservice's local development 00:06:30
  7. Lesson 6: Single Instance MultiContainer Apps with Docker Compose
    1. Learning objectives 00:00:44
    2. 6.1 Configure a new Docker Compose file for production 00:01:43
    3. 6.2 Use a .env file to securely use env vars 00:03:57
    4. 6.3 Use Compose and Machine together to deploy the application 00:04:11
  8. Lesson 7: Multi-­Instance Multi-Container Applications with Docker Swarm, Stack, and Compose
    1. Learning objectives 00:00:25
    2. 7.1 Create a Docker Swarm cluster 00:02:59
    3. 7.2 Create a Swarm stack with one type of replicated container 00:04:23
    4. 7.3 Create a Swarm stack with multiple types of replicated containers 00:04:20
  9. Lesson 8: Advanced Docker Swarm Configuration
    1. Learning objectives 00:00:29
    2. 8.1 Spin down a Docker Swarm 00:04:27
    3. 8.2 Scale a Swarm up or down 00:04:26
  10. Lesson 9: Container Orchestration with Kubernetes
    1. Learning objectives 00:00:35
    2. 9.1 Understand Kubernetes concepts 00:06:10
    3. 9.2 Run Kubernetes locally 00:02:55
    4. 9.3 Define your first pod 00:05:43
    5. 9.4 Use Kubernetes labels 00:03:54
    6. 9.5 Understand and use Kubernetes replication controllers 00:03:44
    7. 9.6 Use the Kubernetes Services construct 00:03:05
  11. Summary
    1. Docker Orchestration and Microservices: Summary 00:00:30