NEW! Curricular Projects β’ Test Your Skills and Get Expert Feedback
We independently test and review every course that we recommend.
Please support us by joining our mailing list, and recommending this guide to others.
Updated: January 5, 2024
Pluralsight
By Nigel Poulton, Dan Wahlin, others
Exceptional video-based courses by some of the leading Docker experts.
This skill path is guided by renowned expert authors who draw from their extensive experience -- you'll learn how Docker is actually used at top organizations.
After covering the foundations of Docker, the path continues with langauge-specific courses, where you can focus on working with Docker for the specific kind of application youβre hoping to build. There are courses for using Docker to develop Node, Python, React, and Go apps, as well as .NET and Java.
Pluralsight has refreshed a significant portion of this path to keep pace with Docker's evolving landscape, with many of the courses released in late 2022 or 2023.
The courses are all centered around real-world scenarios and hands-on demonstrations. We highly recommend coding along with the authors, as well as supplementing with some solo practice.
A Cloud Guru
By Linux Academy
Exceptional hands-on Docker course with a focus on practical, real-world exercises.
Linux Academy's Learn Docker by Doing course is a standout option for learners eager to master Docker containerization through practical experience. This course is designed for those who prefer learning by doing, consisting entirely of hands-on labs.
The course provides a comprehensive exploration of Docker, covering fundamental concepts, advanced features, and real-world applications. It immerses learners in Docker's intricacies and equips them with valuable skills for working with containers effectively.
The course's strength lies in its emphasis on practical exercises. Learners engage in hands-on labs and projects that mirror real-world scenarios, allowing them to apply their Docker knowledge in authentic situations. This practical approach not only reinforces learning but also prepares learners for Docker-related challenges they may encounter in their professional roles.
One noteworthy feature of this course is the Lab Playground, which provides a dedicated environment for hands-on practice. Learners can experiment with Docker commands, create and manage containers, and deploy applications within a controlled and secure environment.
This course also contains a section covering Kubernetes, which is definitely a great topic to learn after getting up to speed with Docker fundamentals.
Our initial research involved spending hours reading hundreds of reviews of various course options, and perusing forums for recommendations and user preferences. From this research, we narrowed down to a list of 12 highly-rated candidate courses.
We graded the candidate courses against the following criteria:
From this thorough research and testing, we're confident this is the single best guide to Docker courses available.
Udacity
By Various Authors
This intensive, hands-on course that covers using Docker and Kubernetes to build a distributed microservices application for scale.
The Monolith to Microservices at Scale course is part of Udacity's Cloud Developer Nanodegree program. If you already know how to use AWS and want a hands-on introduction to using Docker and Kubernetes to build a modern microservices application, this course is a great option.
Udacityβs hands-on approach is intense, but it works. Their emphasis on practice and real-world examples will prepare you to build professional-grade cloud-first applications.
At the end of this course, you'll be tasked with a solo project: refactoring a monolithic application to microservices, along with a CI/CD process to automate building and deploying Docker images to a Kubernetes cluster. You'll receive personalized feedback on your project and one-to-one support along the way.
Cloud Academy
By Ben Lambert, Logan Rakai
A robust choice for mastering Docker containerization, with frequent hands-on labs for practice and assessments for skill validation.
Whether you're new to Docker or looking to deepen your skills, Cloud Academy's Docker in Depth learning path offers comprehensive Docker foundations and practical experience.
The learning path covers a wide range of Docker topics, covering the foundations but also delving into advanced concepts like orchestration and security. The content is structured into easily digestible sections, allowing learners to navigate and revisit specific topics with ease.
One of the standout features of this learning path is its hands-on labs. Learners can engage in practical exercises to reinforce their Docker knowledge without the hassle of extensive setup. Notably, the Lab Challenges present real-world scenarios, challenging you to apply your skills within a defined time limit. These challenges test your problem-solving abilities and validate your Docker proficiency in authentic scenarios.
Udemy
By Bret Fisher
Highly practical and comprehensive resource for learning Docker foundations.
The course covers a broad spectrum of Docker topics, ranging from foundational concepts to advanced use cases. It immerses learners in Docker's world, providing them with a solid understanding of containers and Docker's ecosystem.
One of the course's standout features is assignments. At the end of each module, the assignment asks you to apply your skills in a real-world scenario. After completing the assignment, youβll be able to watch a solution video to see step by step how the author would do the assignment.
This course also goes deep into how to automate Docker and Kubernetes with GitHub Actions to create a Continuous Integration pipeline.
The course also includes valuable resources such as downloadable Docker Compose files, Docker cheat sheets, and access to a dedicated community. These resources enhance the learning experience and provide ongoing support for learners.
App Academy Open
By Various Authors
Tremendous free resource for learning the foundations of Docker and Microservices for full stack development.
This course consists of readings, quizzes, exercises, and guided projects where you practice the basics of containers and Docker Compose, and convert Express and Python documents to microservices with Docker.
Each section contains quizzes to ensure youβve grasped the material, along with hands-on practice executing an attack on vulnerable code, along with step by step instructions to mitigate the attack. This frequent practice is incredibly valuable for making your knowledge more tangible.
The topic coverage is just thorough enough to get you started working with Docker. Often in the curriculum, the authors provide links to supplemental materials -- these are important for gaining a deep understanding of Docker and working with containers. After taking this course, you'll have a solid understanding of the fundamentals, and will be ready to learn more advanced topics.
Docker is a platform that simplifies the process of developing, deploying, and running applications. It uses containerization technology to package an application and its dependencies into a standardized unit called a container. These containers can run consistently across different environments, making it easier for developers to build, test, and deploy applications, while also enhancing scalability and resource efficiency.
Docker is among the most popular developer tools according to Stack Overflow's 2023 Developer Survey, so it's an essential skill to learn and will greatly enhance your ability to work on modern large-scale applications.
To get started with Docker professionally, focus on these foundational topics:
These foundational topics will give you a strong start in working with Docker. As you gain experience and progress in your career, you can then delve into more advanced topics such as container orchestration (Kubernetes), monitoring, and advanced security configurations. These advanced topics are typically necessary when working on larger-scale and production-grade applications. Start with the basics, build your skills, and expand your Docker knowledge as needed for your specific projects and roles.
Docker is a fairly accessible technology even for beginners.
This guide is specifically written for aspiring and practicing full stack developers, so we do recommend that in your full stack developer journey, that you learn Docker after learning frontend development with HTML, CSS, JavaScript, and a JavaScript framework like React, Angular, or Vue, along with the foundations of a full stack language like Node or Python, and how to work with RESTful APIs.
Besides those topics, having some basic knowledge of the following concepts can be helpful, but again aren't required:
Linux Basics: Docker relies on Linux containers, so having a basic understanding of Linux commands, file systems, and permissions is advantageous.
Command Line Interface (CLI): Familiarity with the command line interface (CLI) is important, as you'll be using Docker commands to create and manage containers.
Networking: Basic knowledge of networking concepts, such as IP addresses and ports, can be beneficial when working with Docker's networking features.
Version Control: Familiarity with version control systems like Git is helpful for managing Docker configurations and images.
Containers and Virtualization Concepts: Having a high-level understanding of containerization and virtualization concepts can aid in grasping Docker's purpose and benefits. Most tutorials will cover this at a high level when introducing Docker.
Help us out by joining our email list to get notified when we release new guides, and recommending this guide to others.
Thanks for reading!