Skip to main content
CF

The Ultimate Docker Course

4h 25m 17s
English
Paid

Docker is a platform for building, running, and shipping applications with ease. That's why most companies use it and are looking for software or DevOps engineers with Docker skills.

If you want to increase your employability, excel in your career, and reach highly-paid senior positions, you must have Docker in your resume. And not only that, you should understand how it works and how to effectively use it to build and ship software.

The problem is most Docker books and courses are confusing at best. They're often too short and basic, or too long and boring. They expect a lot of Linux knowledge, and their simple examples don't showcase real-world applications.

That's why I've created this course for you!

A clear, concise, comprehensive, and highly practical course that prepares you for the job. You'll learn everything about Docker from the absolute basics to more advanced concepts in under 5 hours. By the end of this course, you'll have a live full-stack application with a database and automated tests in the cloud.

Whether you’re an absolute beginner wanting to learn Docker from scratch, or you know a bit of Docker and need a refresher course to better understand the ins and outs of Docker, this course will help you achieve your goals.

About the Author: Mosh Hamedani (Code with Mosh)

Mosh Hamedani (Code with Mosh) thumbnail

Mosh Hamedani is the founder of Code with Mosh, one of the highest-volume independent online instructors in software education. He has been publishing courses continuously since the early Udemy era and has taught over a million students across his Udemy catalog and his standalone Code with Mosh platform. His teaching style is patient, rigorously structured, and deliberately beginner-tolerant — the courses are widely cited as some of the most accessible introductions to their respective topics.

The Code with Mosh catalog covers an unusually wide span: web development with HTML / CSS / JavaScript / React / Angular / Node.js, Python and Django, C# and .NET, mobile development with React Native and Flutter, SQL and database fundamentals, and the algorithm / data-structure interview prep tracks. Few independent instructors maintain this much breadth at consistent quality.

The CourseFlix listing under this source carries over 35 Code with Mosh courses spanning that range. Material is paid; Code with Mosh runs on per-course pricing on the original platform. Courses are aimed primarily at developers picking up a new technology from a clean start through to working production proficiency.

Watch Online 79 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 79 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1- Introduction
All Course Lessons (79)
#Lesson TitleDurationAccess
1
1- Introduction Demo
00:54
2
2- Prerequisites
00:44
3
3- How to Take this Course
00:47
4
1- Introduction
00:45
5
2- What is Docker
03:16
6
3- Virtual Machines vs Containers
03:15
7
4- Docker Architecture
02:15
8
5- Installing Docker
03:36
9
6- Development Workflow
02:17
10
7- Docker in Action
09:33
11
1- Introduction
00:53
12
2- Linux Distributions
01:03
13
3- Running Linux
05:12
14
4- Managing Packages
03:35
15
5- Linux File System
01:59
16
6- Navigating the File System
04:20
17
7- Manipulating Files and Directories
03:27
18
8- Editing and Viewing Files
03:55
19
9- Redirection
03:05
20
10- Searching for Text
02:19
21
11- Finding Files and Directories
03:24
22
12- Chaining Commands
05:06
23
13- Environment Variables
07:36
24
14- Managing Processes
02:56
25
15- Managing Users
07:02
26
16- Managing Groups
03:18
27
17- File Permissions
05:24
28
1- Introduction
00:35
29
2- Images and Containers
02:42
30
3- Sample Web Application
03:08
31
4- Dockerfile Instructions
01:21
32
5- Choosing the Right Base Image
07:30
33
6- Copying Files and Directories
05:33
34
7- Excluding Files and Directories
03:04
35
8- Running Commands
01:27
36
9- Setting Environment Variables
01:26
37
10- Exposing Ports
01:28
38
11- Setting the User
04:50
39
12- Defining Entrypoints
06:07
40
13- Speeding Up Builds
06:39
41
14- Removing Images
02:47
42
15- Tagging Images
05:33
43
16- Sharing Images
04:20
44
17- Saving and Loading Images
03:29
45
1- Introduction
00:36
46
2- Starting Containers
03:04
47
3- Viewing the Logs
02:07
48
4- Publishing Ports
02:07
49
5- Executing Commands in Running Containers
01:59
50
6- Stopping and Starting Containers
00:58
51
7- Removing Containers
01:48
52
8- Containers File System
01:34
53
9- Persisting Data using Volumes
05:56
54
10- Copying Files between the Host and Containers
02:21
55
11- Sharing the Source Code with a Container
04:20
56
1- Introduction
00:48
57
2- Installing Docker Compose
01:13
58
3- Cleaning Up our Workspace
03:08
59
4- The Sample Web Application
03:11
60
5- JSON and YAML Formats
04:13
61
6- Creating a Compose File
08:58
62
7- Building Images
03:38
63
8- Starting and Stopping the Application
02:11
64
9- Docker Networking
04:46
65
10- Viewing Logs
01:29
66
11- Publishing Changes
04:04
67
12- Migrating the Database
07:21
68
13- Running Tests
02:48
69
1- Introduction
00:46
70
2- Deployment Options
01:34
71
3- Getting a Virtual Private Server
01:04
72
4- Installing Docker Machine
01:02
73
5- Provisioning a Host
04:34
74
6- Connecting to the Host
02:04
75
7- Defining the Production Configuration
03:05
76
8- Reducing the Image Size
08:16
77
9- Deploying the Application
04:32
78
10- Troubleshooting Deployment Issues
07:04
79
11- Publishing Changes
02:43
Unlock unlimited learning

Get instant access to all 78 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prior knowledge is necessary for this course?
The course assumes some familiarity with basic Linux operations, such as navigating the file system, managing processes, and understanding file permissions. These topics are covered in the lessons on Linux Distributions and Managing Users. Having a basic understanding of how software development environments operate will also be beneficial.
What projects will I work on during the course?
Students will engage with a sample web application to apply Docker concepts in a practical context. This includes creating Docker images and containers, managing files and directories within containers, and setting up Docker Compose for multi-container applications.
Who is the target audience for this course?
The course is designed for software engineers and DevOps professionals who want to gain or enhance their skills in using Docker for application deployment and management. It is particularly beneficial for those seeking roles in companies that rely on Docker for their software infrastructure.
How does this course compare in depth to other similar courses?
This course covers Docker comprehensively, from the architecture and basic commands to more advanced topics like Docker Compose, managing images, and persisting data using volumes. It provides a hands-on approach with practical examples, unlike some courses that might focus more on theoretical aspects.
Which specific tools and technologies are covered in the course?
The course covers Docker, Docker Compose, and related technologies like containers and virtual machines. It includes instruction on Dockerfile creation, manipulating the containers' file system, and using environment variables effectively.
What topics are not covered in this course?
The course does not delve into Kubernetes or other container orchestration solutions. It focuses exclusively on Docker and Docker Compose for managing single or multi-container applications.
How much time should I expect to commit to this course?
While the total runtime is unspecified, the course comprises 79 lessons. Given the depth and breadth of topics, students should expect to dedicate several hours per week over the span of a few weeks to fully grasp the material and complete the hands-on exercises.