Docker: A Project-Based Approach to Learning
4.6 (214 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.
2,130 students enrolled

Docker: A Project-Based Approach to Learning

Learn how to manage Docker hosts and Docker containers through project-based training.
4.6 (214 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.
2,130 students enrolled
Created by Jason Cannon
Last updated 5/2020
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 9 articles
  • 21 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
  • How to install, configure, and manage Docker host systems and Docker containers. Linux, Mac, and Windows are covered.
  • Hands-on exercises and projects complete with step-by-step, command-by-command instructions. You'll not only learn Docker concepts, but you'll be able to actually USE them in real-world situations.
  • Best-practices for creating custom Docker images using Dockerfiles.
  • How to dockerize any application, including your very own custom-written applications.
  • How to create a private Docker registry to safeguard sensitive data. Perfect for enterprise or corporate environments. (It's like having your own private Docker hub.)
  • How to create multi-container applications the right way using Docker networks.
  • And much, much more...
Course content
Expand all 35 lectures 04:38:13
+ Installing Docker
5 lectures 25:53

In this lesson you will learn:

  • What editions of Docker are available.

  • Which edition of Docker is right for your situation.

  • What update channels exist for Docker.

  • Which Docker update channel to use and why.

Preview 02:55

In this lesson you will learn how to install Docker on Windows.

Installing Docker on Windows
04:48

In this lesson you will learn how to install Docker Desktop on Mac.

Preview 02:06

In this lesson you will learn how to install Docker on Debian-based Linux distributions such as Debian, Ubuntu, and Linux Mint.

Installing Docker on Debian and Ubuntu
10:41

In this lesson you will learn how to install Docker on Red Hat Enterprise Linux (RHEL) and CentOS.

Installing Docker on Red Hat Enterprise Linux (RHEL), CentOS, and Fedora Linux
05:23
+ Introduction to Docker
2 lectures 25:08

In this lesson you'll learn:

  • What a Docker container is.

  • How containers differ from virtual machines.

  • The Benefits of using containers.

  • How Docker utilizes a layered filesystem to create images.

  • The methods Docker uses to provide container separation.

  • What a Dockerfile is and when to use one.

  • What base images are as well as why and when to use them.

  • Why Docker works well in a microservices architecture.

Introduction to Docker: Concepts, Definitions, and Required Background Info.
11:20

In this lesson you will learn how to:

  • Start and stop Docker containers.

  • Display information about containers running on the host system

  • Download container images.

  • Use the built-in Docker help system.

Docker Basic and Common Commands
13:48
+ Managing Docker Container Images
4 lectures 29:24

In this lesson you will learn how to:

  • Download a Docker image.

  • View the history of an image.

  • Tag an image.

  • Delete an image.

  • View and clean-up the storage used by images.

Managing Container Images
20:29

In this lesson you'll learn why it's important to due the exercises in this Docker course.

Exercises Introduction
01:23
Exercise Instructions: Managing Container Images
01:03

This is the walkthrough video for the Managing Docker Images Exercise.

Exercise Walkthrough: Managing Container Images
06:29
Docker Container Images Quiz
3 questions
+ Running and Managing Docker Containers
3 lectures 27:11

In this lesson you will learn how to:

  • Give your Docker containers a name and then manage those containers using their names.

  • View a container's state, no matter if it is currently running or if it has stopped.

  • Configure a container so that it restarts any time it exits or even if the host system gets rebooted.

  • View the output generated by a container that is running in the background.

  • Quickly clean up and remove old containers that have already stopped.

Running Containers
17:44
Exercise Instructions: Running Containers
02:05

This is the walkthrough video for the Running Containers Exercise.

Exercise Walkthrough: Running Containers
07:22
Running and Managing Docker Containers: Quiz
5 questions
+ Exposing Containers to the Public Network
3 lectures 11:41

In this lesson, you will learn how to make an application running inside a container accessible from outside of the Docker host machine.  Additionally, you'll learn how to share data with containers running on your docker host system.

Preview 08:52

NOTE: For easier to read instructions download the PDF resource attached to this lesson.

Goal:

The goal of this exercise to expose the port of a container to the outside world. For this exercise, you will use the Apache HTTP Server.

Instructions:

Start a Container Using the Apache HTTP Server Image

The image name for the Apache HTTP Server is "httpd." Start an image named "apache_welcome" using the "httpd" image. Use port 9900 on the docker host system to communicate with port 80 on the container.

docker run --name apache_welcome -d -p 9900:80 httpd:latest


Confirm the Port is Open

Use the "​docker ps​" command and examine the "PORTS" column for your apache_welcome container.

docker ps

Confirm that you see "0.0.0.0:9900->80/tcp" in the "PORTS" column.

View the application

Details. Use the "curl" command to access Apache

curl http://localhost:9900


You should see HTML returned.

If you are running Docker on your local system, you can further check that Apache is accessible by

typing "​http://localhost:9900​" into your web browser's address bar and hitting "Enter."

Exercise Instructions: Making a Container Publicly Available
00:39

This is the walkthrough video for the Making a Container Publicly Available Exercise.

Exercise Walkthough: Making a Container Publicly Available
02:10
+ Connecting to Running Containers and Managing Container Output
4 lectures 24:01

In this lesson, you'll learn how to connect to a running Docker container using an interactive shell, as well as how to execute other commands inside a container.

Entering and Connecting to Containers
11:44
Exercise Instructions: Entering and Connecting to Containers
01:17

This is the walkthrough video for the Entering Containers Exercise.

Exercise Walkthough: Entering and Connecting to Containers
02:28

In this lesson, you will learn where to check for logs on a host machine when running Docker.  You'll learn how to view the logs generated by Docker containers as well as by the Docker Engine itself.

Docker Logging
08:32
+ Building Images With Dockerfiles
4 lectures 35:13

In this lesson, you will learn where Docker container images are hosted and the naming conventions used to access those images.

Docker Registries
09:46

In this lesson, you will learn how to build an image using a Dockerfile and how to upload that image to the Docker hub registry.

Building Images With Dockerfiles
17:02

This is the exercise instructions for Build and Push an Image exercise.

Exercise Instructions: Build and Push an Image
01:45

This is the walkthrough video for the Building and Pushing Docker Images Exercise.

Exercise Walkthough: Build and Push an Image
06:40
+ Docker Volumes
3 lectures 24:17

In this lesson you will learn how to persist and save data using Docker volumes. Additionally, you'll learn how to share the same data with multiple containers. You'll also learn how to make data available to a container in read-only mode. Finally, you learn how to use ephemeral volumes and how to remove unused volumes quickly.

Managing Docker Volumes
18:04

This is the exercise instructions for the Managing Volumes exercise.

Exercise Instructions: Managing Docker Volumes
01:24

This is the walkthrough video for the Managing Volumes Exercise.

Exercise Walkthough: Managing Docker Volumes
04:49
Docker Volumes Quiz
3 questions
+ Docker Networking and Dockerizing Applications
3 lectures 43:34

In this lesson, you will learn all about Docker networking, including:

  • How Docker utilizes the existing features of the Linux kernel to control network traffic to and from Docker containers.

  • About the default network used for containers started on a Docker host system.

  • How to gather the details of all the networks and use on a docker host.

  • How to determine the exact IP address used by each container.

  • How to create user defined networks that allow for network separation among various containers.

  • Practical examples of how to deploy a web application using the best practices regarding Docker networking.

  • How Docker uses an embedded DNS server with built in service discovery for each of its user defined networks.

  • And more...

Docker Networking and Dockerizing Applications
34:22

This is the exercise instructions for the Docker Networking exercise.

Exercise Instructions: Docker Networking
01:54

This is the walkthrough video for the Docker Networking Exercise.

Exercise Walkthrough: Docker Networking
07:18
Docker Networking Quiz
4 questions
+ Docker Orchestration
1 lecture 18:30

In this less you will learn how to create a Docker Swarm and run services within the swarm.

Docker Swarm / Swarm Mode
18:30
Requirements
  • No previous Docker experience is required to successfully complete this course.
  • No paid software is required as all the tools used in the course are free and open source software.
  • Access to a computer with a 64-bit processor running either Windows, Mac, or Linux is required. (You do NOT need Docker already installed to take this course.)
  • The ability to download large files of about 500 MB in size from the Internet.
  • A basic understanding of how to use the terminal or command prompt for your operating system. (You can take this course using Windows, Mac, or Linux.)
Description

Have you tried to learn Docker on your own, but lack the structure you need to really improve your skills?

Are you tired of picking up bits and pieces of information that you can't just seem to put together?

Do you learn best by doing?

If so, you're going to love this course.

One of the biggest complaints I hear from students is that most of the courses they've taken in the past simply provide information without any context and without any idea of how to put that information to use!  

This course turns that old, frustrating, and outdated way of learning on its head.  

It's project-based, which means instead of learning bits and pieces of information, you'll learn the exact Docker commands that you can use in real-world situations. You get the chance to immediately put what you learn to use so that you fully understand and remember it.

In this Docker course you will learn how to:

  • Install Docker on Windows, Mac, and Linux.

  • Manage Docker containers.

  • Master Docker commands. (Here are just a few you'll learn: docker run, docker build, docker images, docker inspect, docker network, docker system, docker volume, and more…)

  • Use existing Docker images.

  • Build your very own custom Docker images.

  • Push and Pull your images to Docker Hub or any other Docker Registry.

  • Create a private Docker image registry.

  • Manage the data needed by and created by your Docker containers.

  • Persist data between container runs, including using Docker volumes.

  • View and manage the output and logs generated by your containers.

  • Docker networking, including how to create user-defined networks.

  • Create a Cluster of Docker Containers with Docker Swarm.

  • Much, much, more...

When you enroll, you get lifetime access to the course.  Your course never expires.  You can study at your own pace and refer back to the lessons whenever you want!

If you're ready to level-up your DevOps and Docker skills, enroll now!

Who this course is for:
  • Anyone with an interest in learning how to configure, deploy, and manage Docker systems, Docker containers, Docker registries, Docker orchestrators, and Dockerized applications.
  • Developers, programmers, and software engineers looking for best practices to deploy their apps quickly and easily using Docker. (You'll learn how to Dockerize/Containerize applications.)
  • System Administrators who need to support Docker, including Linux Admins, Windows System Administrators, Linux System Engineers, Linux Engineers, Operations Engineers, Site Reliability Engineers (SREs), DevOps Engineers, Platform Engineers, Release Engineers, Cloud Infrastructure Engineers, and Build Engineers.
  • Those who are looking to advance their career by learning a key DevOps Skill: Docker.