From Zero to Hero: Docker for Developers

The skill every developer needs to have

About This Course

Docker is one of the, if not the most essential, tools that every developer needs to know. You need to know what it is, why it is necessary and how you can use everything it offers. It has been the most used developer platform tool for the past three years, according to the StackOverflow survey and knowing how to use it is required for most developer job listings. In this course, author Dan Clarke will teach you everything you need to know to get started and master the usage of Docker, from how to install it to how you can publish your very own images and use it in your developer workflow.

Course Curriculum

3h 26m 17 sections
Welcome
01:41 Free preview
What will you learn in this course?
03:06 Free preview
Who is the course for and prerequisites
00:54 Free preview
Installing Docker on Windows
03:45
Installing Docker on Linux
03:42
Installing Docker on Mac
00:53
Enabling hardware virtualization in the BIOS
01:00
Introduction
00:23
Containers
03:53
Images
01:47
Container registries and Docker Hub
02:44
Docker CLI
03:03
Docker Desktop GUI
03:56
Visual Studio Code Extension
01:33
Introduction
00:48
Port mapping
02:23
Detached mode and logs
02:50
Shell access and makes changes inside containers
05:23
More example 3rd party images
07:25
Image tags
05:37
Image layers and caching
02:53
Introduction
01:11
Frontend
02:42
Backend
03:31
A simple database interaction
04:13
Building our API image
04:02
Dockerfile 101
07:03
Building our frontend image
03:24
Introduction
01:03
The docker-compose YAML file
01:47
The docker compose CLI command
03:28
Services as DNS entries
00:39
Using docker compose to build our images
02:09
Seeding our database
04:37
Pushing images to Docker Hub
06:36
Introduction
00:23
Docker and CI/CD
03:20
Leveraging Docker for Testing
09:30
Spikes
01:27
Introduction and types of persistent storage in Docker
02:47
Creating Volumes
01:31
Mounting volumes in containers
06:26
Mounting bind mounts in containers
02:55
Volumes in Docker compose
03:54
Backing up volumes
04:21
Anonymous volumes and the Dockerfile VOLUME instruction
02:48
Introduction
00:56
Default bridge network
04:14
Custom bridge networks
06:46
Networking on Docker Compose
06:49
Host network
04:43
Leveraging host.docker.internal
00:59
Summary of other network types
03:00
Introduction
01:36
Image scanning
04:11
Running containers as non-root
06:39
Under the hood: How containers work in Linux
06:26
The difference between ENTRYPOINT and CMD in Dockerfile
07:29
Tip: Creating command line aliases
01:18
Container hosting solutions
04:01
Course conclusion
01:04

Meet Your Instructor

Dan Clarke

Dan Clarke

Dan Clarke is an independent software developer and consultant, specialising in .NET, Azure, Docker, and Kubernetes. He's a Microsoft MVP; speaker; hosts The Unhandled Exception podcast; runs the .NET Oxford user-group; and also has a YouTube channel covering various programming topics.

View all courses by Dan Clarke

What's New

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More