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

Introduction to Docker and the DCA Certification

Video Description

A comprehensive introduction to Docker with a heavy focus on labs

About This Video

  • Images: Templates to define your container
  • Containers: What they are and how Docker helps you create them
  • Storage: Volumes, Bind Mounts and tmpfs to manage data in containers
  • Networks: Regulate connectivity to your containers whether on individual hosts or in a cluster
  • Docker Swarm: The built-in container orchestration tool
  • Docker EE, UCP and DTR: The enterprise offerings of Docker

In Detail

Docker is a tool which has greatly simplified the task of packaging your application, along with all its dependencies into lightweight, portable units called containers. These containers are platform independent and can be executed on any host which runs a Linux kernel. Docker is one of the hottest tools in the market right now as a lot of teams have learned how to use it to break up their large, monolithic applications into smaller and more manageable units - often called microservices. This has allowed development teams to work on microservices independently and package it into a container once it is ready. Docker has also eased the pain of DevOps teams who often need to manage the deployment processes and environments - since containers can run independently of each other, they can simply focus on deploying containers rather than worrying about dependencies for each application. Container orchestration tools such as Docker Swarm and Kubernetes have made it very easy to deploy microservices to a cluster and scale them according to demand. For these reasons, Docker is a technology which you need to know if you're an app developer or DevOps engineer.

Table of Contents

  1. Chapter 1 : Introduction
    1. You, This Course and Us 00:03:17
    2. The Requirement: A Portable Application 00:05:45
    3. The Solution: Containers 00:06:26
    4. Making Containers: Introducing Docker 00:02:32
  2. Chapter 2 : Docker Community Edition Installation
    1. Exploring Docker's Community and Enterprise Editions 00:03:21
    2. Docker Toolbox vs Docker for Mac 00:02:35
    3. Installation of Docker Toolbox 00:02:57
    4. Installation of Docker on Ubuntu 00:04:51
    5. Create your Docker ID 00:02:12
    6. Verify your Docker Installation 00:01:05
    7. Test your Docker Installation 00:01:44
  3. Chapter 3 : Docker Images
    1. Working With Docker: Images and Containers 00:09:20
    2. The Format of a Dockerfile 00:02:49
    3. The .dockerignorefile 00:02:51
    4. The Escape Parser Directive 00:02:24
    5. Our First Docker Image and Container 00:07:49
    6. More Dockerfile Instructions: RUN, ENV, WORKDIR 00:04:00
    7. Set the Container's Starting Point: The ENTRYPOINT Instruction 00:03:59
    8. Define a Build in a Base Image: The ONBUILD Instruction 00:03:02
    9. Stop a Container Once its Work is done: The STOPSIGNAL Instruction 00:00:42
    10. Share a Docker Image 00:03:35
    11. Pushing an Image to a Dockerhub Repo 00:07:02
    12. Another Way to Store Images: Saving to and Loading from .tar Files 00:02:16
    13. Search for Docker Images: The Docker search Command 00:02:31
    14. Examine your Image: The Docker inspect Command 00:01:17
    15. Cleaning up Images: Remove Unused and Dangling Images with Docker prune 00:03:36
    16. Deleting an Image: The Docker image rm command 00:01:36
  4. Chapter 4 : Docker Containers
    1. Container Basics: Create, Start and Stop 00:05:36
    2. Restarting a Container: The Docker restart Command 00:01:09
    3. Connect to a Container: The Docker attach Command 00:02:59
    4. Interacting with a Container: The Docker exec Command 00:02:33
    5. Examine your Container Using Docker inspect 00:02:50
    6. Debugging a Container: View Container Logs 00:01:02
    7. More Debugging: View Processes of a Running Container 00:01:08
    8. Cleaning up Containers: Remove Unused Containers with Docker prune 00:01:06
    9. Remove Specific Containers using Docker rm 00:04:03
    10. Dealing with a Zombie Container: The Docker kill Command 00:02:27
    11. Renaming a Docker Container 00:00:55
    12. What has Changed in my Container?: The Docker container diff Command 00:02:02
    13. Saving the Container State: The Docker container commit Command 00:01:32
    14. Mapping Container Ports to its Host 00:03:11
    15. Putting it together: From Dockerfile to an NGINX App 00:06:14
  5. Chapter 5 : Storage in Docker
    1. Managing Data in Docker 00:03:24
    2. Understanding Volumes 00:01:59
    3. Understanding Bind Mounts 00:02:39
    4. Understanding tmpfs Mounts 00:01:04
    5. Create a Volume 00:00:48
    6. Start a Container with a Volume 00:02:41
    7. Attach a Read-Only Volume to a Container 00:02:12
    8. Inspecting Details of a Volume 00:00:41
    9. Cleaning up Volumes: Prune Unused Volumes 00:00:43
    10. Observing Changes to a Volume 00:03:20
    11. Start a Container with a Bind Mount 00:02:35
    12. Start a Container with a tmpfs Mount 00:01:38
  6. Chapter 6 : Container Orchestration with Docker Swarm
    1. Introducing Container Orchestration and Docker Swarm 00:09:43
    2. Preparing a Cluster: Provision the Nodes of the Swarm 00:02:34
    3. Create the Swarm: Set up the Master and Worker Nodes 00:03:26
    4. Deploy a Service in the Swarm 00:03:09
    5. Scaling Our Service 00:01:28
    6. Inspecting the Nodes in a Swarm 00:01:10
    7. Take a Swarm Node Offline: Drain a Worker 00:01:35
    8. Update and Remove a Swarm Service 00:01:33
    9. Global Services: Deploy App to All Nodes in a Swarm 00:03:50
    10. Protect Sensitive Data: Creating Secrets 00:03:15
    11. Removing Nodes from a Docker Swarm 00:01:31
    12. Alter the Swarm Hierarchy - Promoting and Demoting Swarm Nodes 00:02:39
  7. Chapter 7 : Docker Networks
    1. The Different Network Drivers in Docker 00:03:25
    2. Create a Bridge Network 00:02:13
    3. Containers and Networks: Connecting and Disconnecting 00:03:59
    4. Inspect a Network 00:01:30
    5. The Network for Swarms: Creating an Overlay Network 00:04:11
    6. Creating a Host Network 00:01:54
    7. Network Cleanup: Pruning and Removing Networks 00:02:56
  8. Chapter 8 : Docker's Enterprise Edition and the Universal Control Plane (UCP)
    1. Installing Docker EE on Ubuntu 00:07:14
    2. Installing Universal Control Plane (UCP) on Ubuntu 00:08:18
    3. Who Uses Docker: Creating Users and Teams in UCP 00:06:00
    4. What Users Can Do: Granting Permissions 00:04:28
    5. Create Docker Objects in UCP: Creating a Volume from the Web UI 00:01:42
  9. Chapter 9 : The Docker Trusted Registry (DTR)
    1. DTR Installation 00:02:34
    2. Create a DTR Repo 00:03:44
    3. Pushing to and Pulling from DTR 00:05:41
    4. Delete Image from a DTR Repo 00:00:59
    5. Users and Teams in DTR 00:05:18
    6. Setting Permissions in DTR 00:02:41
  10. Chapter 10 : The Docker Certified Associate Exam
    1. The DCA Exam 00:07:48
    2. Exam Curriculum 00:05:07