Docker Certified Associate (DCA) - With Kubernetes
4.5 (29 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
236 students enrolled

Docker Certified Associate (DCA) - With Kubernetes

Create production like docker environment and infrastructure with AWS cloud and learn all six domain with Kubernetes
4.5 (29 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
236 students enrolled
Last updated 7/2020
Current price: $119.99 Original price: $199.99 Discount: 40% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7.5 hours on-demand video
  • 54 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • In depth learning of Docker
  • Orchestration using Docker Swarm
  • Docker Image Creating, Management and Registry
  • Docker Installation and Configuration
  • Docker Networking and Security
  • Docker Storage and Volumes
  • Introduction to Kubernetes architecture and Orchestration
  • Kubernetes concepts like Pods, Deployments, Service, Secrets, Labels, Configmaps and Namespace
  • Basic understanding of Linux commands and Editor
  • Basic understanding on Cloud or Virtual machines is added advantage

Covers all the 6 domains required in the Docker Certified Associate (DCA) Exam.

The following domains are covered in detail by setting up Docker in various environments like AWS Cloud and local Linux systems.

Domain 1: Orchestration (25% of exam)

Domain 2: Image Creation, Management, and Registry (20% of exam)

Domain 3: Installation and Configuration (15% of exam)

Domain 4: Networking (15% of exam)

Domain 5: Security (15% of exam)

Domain 6: Storage and Volumes (10% of exam)

Domain 1: Orchestration (25% of exam)

  • Understand Docker Swarm Orchestration

  • Setup of a swarm mode cluster, with managers and worker nodes

  • Differences between running a container vs running a service

  • Lock a swarm cluster

  • Inspect docker and container using "docker inspect" commands

  • YAML compose file with "docker stack deploy"

  • Update/Change a running stack of services

  • Increase/Decrease # of replicas

  • Add networks, publish ports

  • Mount volumes

  • Differences and use-cases for replicated vs global service

  • Troubleshoot a service using logs

  • Applying node labels

  • Task placement using node labels

  • Using templates with docker service

Domain 2: Image Creation, Management, and Registry (20% of exam)

  • Describe Dockerfile options [add, copy, volumes, expose, entrypoint, etc)

  • Understand Dockerfile and create an efficient image

  • Use CLI commands such as list, delete, prune, rmi, etc to manage images

  • Inspect images and report specific attributes using filter and format

  • Tagging, Pushing, Signing, pulling, adding a file, Modify an image

  • Modify an image to a single layer

  • Configure and setup registry,

  • Display layers of a Docker image

  • Describe how image layers work

  • Login, Search, Delete image  in a registry

Domain 3: Installation and Configuration (15% of exam)

  • Setup repo, storage driver, install and upgrade docker-engine in various platforms

  • Configure logging drivers (splunk, journald, etc)

  • Setup swarm, configure managers, add nodes, and setup backup schedule

  • Create and manage user and teams

  • Sizing requirements for production scenarios

  • Understand namespaces, cgroups, and configuration of certificates

  • Use certificate-based client-server authentication to ensure a Docker daemon has the rights to access images on a registry

  • Setup in AWS infrastructure along with HA config

  • Complete configuration of backups for UCP and DTR

  • Configure the Docker daemon to start on boot

Domain 4: Networking (15% of exam)

  • Create and setup a bridge network

  • Publish ports and identify ip to access the containers.

  • Explore and set up a different type of networks like bridge, host and  null network

  • Describe the different types and use cases for the built-in network drivers

  • Introduction to DNS and using external DNS

  • Load balance traffic between containers

  • Communication between Docker engine, registry, and UCP controllers

  • Deploy service on a Docker overlay network

  • Describe the difference between "host" and "ingress" port publishing mode

Domain 5: Security (15% of exam)

  • Signing image

  • Enable Docker Content Trust

  • Configure (Role-Based Access Control) RBAC in UCP

  • Overview of Integration of UCP with LDAP/AD

  • Create, download and use UCP client bundles

  • Securing Docker swarm

  • Difference between UCP workers and managers

  • The process to use external certificates with UCP and DTR

Domain 6: Storage and Volumes (10% of exam)

  • Various graph driver and its usage

  • Configure device-mapper

  • Compare object storage to block storage, and explain which one is preferable when available

  • Different layers in a docker container and how volumes are used with docker for persistent storage

  • Cleanup unused images in filesystem and Registry

Introduction to Kubernetes and its concepts

Installation and architecture of Kubernetes

Introduction to Pods

Deployment and Service concepts

Label select concepts and its uses

Configmaps Introduction

Secrets and its uses

Namespace Introduction

Who this course is for:
  • Willing to appear for Docker Certified Associate (DCA) Exam
  • Those who want to acquire skills on Docker Orhestration, Networking, Imaging, Security, etc.,
  • Understand Docker Enterprise with UCP and DTR
Course content
Expand all 83 lectures 07:24:41
+ Introduction
3 lectures 07:42

Welcome. Covers the following required 6 domains to clear Docker Certified Associate (DCA) Exam.

  • Domain 1: Orchestration

  • Domain 2: Image Creation, Management, and Registry

  • Domain 3: Installation and Configuration

  • Domain 4: Networking

  • Domain 5: Security

  • Domain 6: Storage and Volumes

Preview 01:54
  • Covers the basic workflow of images and containers

  • How image will be created and stored in the registry

  • How container will get created from images

  • Running, stopping, Pause, unpause and deleting a container

Preview 02:21
  • How custom created image will be added to the Registry

  • Introduction to Docker file

  • How to version/tagging of the image is done

  • Introduction to containers, Registry and image

Preview 03:27
+ Installation and Basic Setup
3 lectures 15:54
  • Prepare AWS EC2 instance for docker installation

  • Configure instance details, Security group, Volume, key pair

  • Using putty private key with putty to login to EC2 instance

  • Configure and store putty settings

  • Creating AWS AMI for future reuse

Prepare EC2 Instance
  • Update AWS EC2 instance

  • Installing docker using yum

  • Adding ec2-user to the docker group

  • Enable docker service to start automatically on startup

  • Verifying installed docker version

  • Staring a sample docker container to test installation

AWS EC2 Docker Installation
  • Calculating EC2 instance and Volume pricing

  • Deleting unused EC2 instance, Volumes, Snapshots and AMI

  • Verifying the billing

  • Introduction to AWS Free tier

AWS EC2 Cleanup
+ Docker Images
3 lectures 15:07
  • Maintaining image in Registry

  • Introduction to tags, repository, version details

  • Introduction to docker history

  • Inspect image using inspect command

  • Listing image

  • Removing not required images locally as well as from Registry

  • Image prune

Docker Image Maintenance
  • Pull a sample image from a registry

  • Save the image as flat-file locally

  • Load the stored file as an image using the load command

  • Importing the file as image using the import command

Container Image Save Load Import
  • Introduction to docker file

  • Build a custom image using custom docker file

  • Verify the build image

  • Introduction to docker image prune

  • Various options with docker image prune command

Docker Image Dockerfile and Prune
+ Docker Containers
8 lectures 41:56
  • Create a sample container from a sample image

  • Listing containers with various options

  • Introduction to container port mapping

  • Running a sample container

  • Starting a container after creating from the image

Docker Container Start and Create
  • Attach/Detach to a running container

  • Executing a command against a container using exec command

Docker Container Attach Detach and Exec
  • Understand different states of a container

  • Details on states like Create, Running, Stopped, Delete, Paused

  • Creating a container and running it

  • Stopping / Restarting a container

  • Pausing and unpausing a container

  • Different container state  and its effect in port mapping

  • Manage a list of containers

  • Using container prune command

  • Killing a container

Docker Container different State
  • Make changes to a running container

  • Commit the changes made as a new image with a new name and tag

  • Verify committed changes in the new image by creating a container

Docker Container Commit
  • Export image as tar file

  • Purpose of exporting the container as tar file

  • Verifying how exporting a container as image works

Docker Container Export
  • Purpose of copy with container

  • Copying files from local file system to a container file system and vice versa

  • Verifying copied files using diff command of container

Docker Container Copy and Diff
  • Viewing logs of a container

  • Viewing the running process within the container using top command

  • Validating various statistical information like CPU, memory, process, etc of a container

Docker Container Log Top Stats
  • Validating the resources utilized by a container

  • Setting the limit of memory to be used by a container

  • Setting the limit on CPU to be used by a container

  • Updating Memory and CPU limits for a container

  • Impact on container and resource utilization settings

  • Verify container utilization using container inspect command

  • Purpose and limitation of setting resource utilization of a container

Docker Container Resource Utilization
+ Docker Volume
3 lectures 16:17
  • Purpose and role of volumes in a container

  • Creating new volumes

  • Listing and managing available volumes

  • Listing dangling volumes

  • Removing volume using prune

Docker Volume Management
Docker Volume Mounting
  • Exploring various options with volumes

  • Analyze different types of driver for storage

  • Using prune with volume

  • Removing the volume

  • Understand the difference between volume remove and prune

Preview 03:11
+ Docker Image Deep Dive
8 lectures 39:12
  • Understand layers in docker images

  • Advantage of having layers in docker images

  • Types of layers like read-only layers and thin read-write layers

  • Understand how file update happens

Image Layers Introduction
  • Understand FROM verb in dockerfile

  • Create a docker file using FROM keyword

  • Using alpine as base image using FROM

  • Verifying the image using docker history command

Image build FROM
  • Understand the concept of base image

  • Using FROM key word

  • Building base image from scratch

  • Building and tagging the image

  • Running the image and verifying the result

Image build FROM base image
  • Understand LABEL keyword

  • Create an image and label it with version, description

  • Using custom label

  • Build the image and verify it with history command

  • Inspecting the image for labels

Image build LABEL
  • Understand the keyword CMD, WORKDIR and COPY

  • Using COPY to copy files from local to the image

  • Setting the work dir using WORKDIR

  • Using the CMD keyword

  • Build and run the image to verify

  • Understand the keyword RUN, ADD, ENTRYPOINT and EXPOSE

  • Using ADD command and discuss the difference between ADD and COPY

  • Changing file permission using RIN

  • Running the Nginx using ENTRYPOINT

  • Exposing the required port using EXPOSE command

  • Understand the keyword like ARG and ENV

  • Setting the environment variable and using it in the image

  • Setting the argument and passing the arguments to the image

  • Verify the arguments using inspect command

  • Running the image using default argument

Image build ARG ENV
  • Adding volume using VOLUME verb

  • verify volume using inspect

  • Run the container and check created volume

  • List the created volumes

Image build VOLUME
+ Image Registry
3 lectures 13:55
  • Understand image registry concept

  • Run registry using registry image

  • Tag a new image

  • Add the image to the registry

  • Verify added image to the registry

  • Pull the image from registry and verify

Image Registry using play with docker
  • Create a custom registry using EC2

  • Tag the image and add it to the custom registry

  • Verify the pushed image to the registry

  • Stop the registry

Image Registry using EC2
  • Using the docker hub as an image registry

  • Tagging the image to add it to the docker hub registry

  • Push the image to docker hub

  • Remove local image and pull the image from docker hub

Image Registry using Docker Hub
+ Docker Networking
9 lectures 43:07
  • Networking in a single host

  • Introduction to bridge

  • Port mapping between container and host

  • Pros and cons of bridge networking

Preview 04:44
  • Network namespace overview

  • Create custom network namespace

  • Inspect bridge network

  • Run multiple containers and ping each other

  • Create a custom network and connect with the containers

  • Ping between containers in custom network namespace

Create Custom Network Namespace
  • Understand ip address and gateway as part of custom network

  • Verify the hosts file

  • Verify resolv.conf file

  • Check the route using IP route command

Custom Network Configuration files
  • Create a custom network with subnet

  • Attaching different container to a different subnet

  • Verify resolv.conf file and eth0 of various containers

  • Verify IP route table

  • Ping containers within and outside the subnet

Custom Network Custom Subnet
  • Create containers across multiple subnets

  • Verify IP details using inspect

  • Connecting containers to multiple subnets

  • Understand the purpose of subnet and container isolation

  • Verify resolv.conf file and IP route of various containers

  • Ping across multiple containers

Custom Network - Working with multiple network
  • Remove network with containers running

  • Forcefully removing the network

  • Verify network remove action

Remove Network
  • Understand the concept of host networking

  • Create host networking

  • Verify host networking using inspect command

  • Verify IP details using ifconfig

  • Check the logs of container using logs command

  • Verify hosts file and resolve.conf file

Preview 04:02
  • Understand the purpose of null networking

  • Create null networking

  • Verify using hosts and resolve.conf file

  • Verify using ifconfig, eth0

Null Networking
  • Create load balancer

  • Balance load between multiple containers

  • Test load balancer by removing a container

  • Clean and remove containers and load balancer

Discovery and Load Balance
+ Docker Swarm
20 lectures 01:31:22
  • Introduction to Docker Swarm

  • Need for Docker Swarm

  • Introduction to Swarm Cluster, Master node and Worker Nodes

  • Different services like Discovery and Scheduler services

  • Distribution of clusters in Swarm

Preview 07:17
  • Setup of Docker swarm in AWS EC2 Instances

  • Prerequisites for AWS AMI

  • Process of creating AMI and instances for workers

Docker Swarm in Amazon Web Services (AWS)
  • Start AWS basic instance

  • Login to EC2 instance using putty

  • OS update

  • Install docker using yum

  • Add ec2-user to docker group

  • Start docker service

  • Verify docker version

  • Create AWS AMI from EC2 instance

Docker Swarm AWS AMI Setup
  • Start master instance from AMI

  • Start a couple of worker instances

  • Open required ports for the security groups

  • Do docker init and get docker swarm join token

  • Join all the workers to the master

  • List the nodes attached to the master

Docker Swarm Init Cluster
  • Understand the concept of Stack, Service, and Task

  • Structure of yml file for service definition

  • Defining Image name and replication as a part of yml file

Docker Swarm - Service Task Stack Introduction
  • Create service with N number of replication

  • Listing the services

  • Listing the process list as a part of the service

Docker Swarm Service and Task in Detail
  • Verifying service details using inspect command

  • Using pretty option with inspect command

  • Scaling the service

  • Removing the service

Swarm Service Scaling and Removing
  • Updating service with a new image

  • Listing service process details using the format option

  • Using service rollback option

Docker Swarm Service update and Rollback
  • Concept of locking in Docker Swarm

  • Setting docker swarm autolock as true

  • Unlocking docker swarm

  • Rotating docker swarm unlock-key

  • Setting docker swarm autolock as false

Docker Swarm Locking
  • Understand docker swarm drain

  • List the tasks in docker swarm service

  • Drain a node in docker swarm

  • Changing the docker swarm availability as active

Docker Swarm Drain
  • Define and discuss voting app yml

  • Deploy stack file

  • List the services created with stack file

  • View the services deployed using web UI

  • Remove the stack

Docker Swarm Stack Deploy
  • Purpose of global service in docker swarm

  • Deploy global service in swarm

  • Verify global service by changing node availability

Docker Swarm Global Service
  • Swam list join-token for worker

  • Adding more workers

  • Listing the nodes

  • Listing the service and verify distribution of task in added workers

Docker Swarm Add Worker
  • Overview of labs

  • Create a sample cluster with play with docker labs

  • Running a container with play with docker

  • Verifying port exposure with play with docker

  • Listing nodes in play with docker labs

Play with Docker Setup
  • Need and purpose of labeling in docker swarm

  • Advantage of labeling

Swarm Node Label Introduction
  • Create cluster and use the label

  • Update node with labels

  • Verify node with inspect command

  • Create service with the constraint of node label

  • Verify the task deployed only in the worker node

Docker Swarm Label Service
  • Create service using global mode and label constraint

  • Update node label

  • Verify node with inspect command

  • List service process using the format option

Docker Swarm Global Service Label
  • Discuss the advantage and the need of placement preference

  • Update node with labels

  • Start service with placement preference

  • List service process using the format option

Docker Swarm Placement Preference
  • Using label constraint and placement preference together

  • Create service with constraint (equal and not equal condition)

  • Create service with placement preference and multiple constraints

  • Verify the service process using the format option

Docker Swarm Constraint and Placement Preference
  • Understand the need of promoting and demoting the nodes

  • Create a cluster with multiple managers

  • Demote a leader and make another reachable node as leader

  • Impact on cluster after promoting and demoting the nodes

Docker Swarm Promote Demote
+ Docker Enterprise
6 lectures 33:57
  • Understand various components of Docker Enterprise

  • Steps to prepare the Amazon Machine Image (AMI)

  • Introduction to Universal Control Plane (UCP) and Docker Trusted Registry (DTR)

  • Introduction to Docker trial license

  • Managing trial license in docker hub

Docker Enterprise installation preparation
  • Prepare Ubuntu instance

  • Ubuntu update and upgrade

  • Installing required packages like https, ca-certificates, curl, software properties common, etc

  • Update Docker Enterprise repo file

  • Setting required environment variables

  • Adding a user to the docker group

  • Introduction to docker node key file

  • Creating the AMI and verifying it.

Prepare Amazon Machine Image (AMI) for Docker Enterprise
  • Create a new instance with AMI

  • Configure security group for the cluster

  • Pulling Docker Universal Control Plane (UCP) image

  • Run docker UCP plane container with required private and ip configurations

  • Configure SAN for docker container with public and private  ip/dns

  • Access UCP using the https protocol

  • Uploading docker enterprise license

Install Universal Control Plane (UCP)
  • Purpose of Subject Alternative Name (SAN)

  • Verify Docker Subject Alternative Name (SAN) used in the certificates.

  • Add/Update more SAN using UCP

Node - Subject Alternative Name (SAN) Update
  • Adding more nodes to the cluster

  • Create 3 additional instances for the cluster

  • Details on adding node type (Windows/Linux) and Node role (Manager/Worker)

  • Executing the provided docker swarm join command with the token provided by the master

  • Verifying the added node status in UCP

Docker Enterprise - Add nodes
  • Introduction to Docker Trusted Registry (DTR)

  • Running DTR as a container

  • Verify installation with DTR web UI

  • Introduction to DTR High Availability (HA)

Docker Trusted Registry (DTR) Installation