NEW! Curricular Projects • Test Your Skills and Get Expert Feedback
Updated: September 1, 2023
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.
The Docker Fundamentals for Developers path doesn’t go very deep into Docker Security, so we suggest supplementing with the course Implementing Docker Security on the platform to learn some best practices for securing containers and swarms.
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.
Since all of the learning takes place in browser-based labs, you should make sure to practice skills on your local system as well, so you gain the practical experience of working with Docker in a variety of contexts..
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.
Since this course is part of a larger Nanodegree program, you should only skip to this section if you feel great about your foundational skills in building and deploying applications to AWS.
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.
This learning path caters to a broad audience rather than being specifically tailored to full stack developers. While it covers foundational Docker technologies comprehensively, it may go a bit outside the scope of what you'll need to know as a full stack engineer.
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.
The second half of the course consists of supplementary resources, including conference talks and Q&As. If you're just looking to get up and running with using Docker professionally, you may not get a lot of value from these sections.
Rather than create a wholesale new version of the course, the instructor has updated the course many times since its release. Some users complained that a few sections are still a bit outdated, and that the course quality is a bit inconsistent between old sections and updated sections. It should be noted the course has received updates in most areas.
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.
It's important to be aware that App Academy Open's curriculum was written with the assumption that students would take the entire program sequentially. So if you jump into this section of the course, you'll notice the course references other sections and assumes a lot of prerequisite knowledge.
This course covers the essentials of working with Docker, but does not go as in-depth into containerization as other courses in this guide.
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.
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.