We may earn an affiliate commission when you visit our partners.
Course image
Packt - Course Instructors

This course now features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

Read more

This course now features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

In this comprehensive Docker course, you'll master the fundamentals of containerization, including how to create, manage, and deploy containers and Docker images. By the end of the course, you'll be able to understand the differences between containers and virtual machines, set up Docker on multiple platforms, manage containers using the Docker CLI, and build and optimize Docker images. You'll also learn how to containerize real-world applications like NGINX, Express, and React, giving you the hands-on experience needed for practical deployment.

The course begins with an introduction to Docker and containers, explaining their core benefits and architecture. You'll also set up Docker on MacOS, Linux, and Windows, ensuring you're ready for real-world development environments. Play with Docker will also be explored for quick container experiments.

By the end, you will have completed projects that involve building and deploying containerized applications, reinforcing your knowledge and confidence in Docker.

This course is ideal for beginners with a basic understanding of software development. No prior experience with Docker is required.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Getting Started with the Course
In this module, we will introduce the course, outlining its goals and helping you navigate the structure to ensure a successful learning journey. You will also learn how to maximize your course experience by leveraging tips and strategies. Finally, we will set expectations to help you track your progress throughout the course.
Read more

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Coming soon We're preparing activities for Docker Fundamentals - Understanding Containers and Images. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Docker Fundamentals - Understanding Containers and Images will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
The DevOps Engineer role is central to bridging the gap between software development and IT operations, automating deployment pipelines and managing infrastructure. This course provides fundamental skills directly applicable to this career path. You will learn to create, manage, and deploy Docker containers and images, crucial for enabling continuous integration and continuous delivery strategies. Understanding Docker's architecture, setting it up across various platforms, and managing containers with the Docker CLI are core competencies. The hands-on projects, such as containerizing NGINX, Express, and React applications, offer practical experience in building and deploying containerized solutions, which is vital for any aspiring DevOps Engineer. This comprehensive foundation helps one to effectively implement and maintain scalable, reliable, and efficient software delivery systems.
Cloud Engineer
A Cloud Engineer designs, implements, and manages an organization's cloud infrastructure and applications. Given the prevalence of containers in cloud-native architectures, this course is highly relevant. You will gain mastery over Docker fundamentals, including deploying containers and images, understanding their lifecycle, and optimizing them. The ability to set up Docker on MacOS, Linux, and Windows prepares you for diverse cloud development environments. Furthermore, learning to containerize real-world applications like NGINX, Express, and React provides the practical skills necessary to deploy scalable and resilient applications on major cloud platforms. This course helps one to leverage containerization for efficient resource utilization and streamlined deployment in the cloud.
Platform Engineer
As a Platform Engineer, you are tasked with building and maintaining the foundational infrastructure and tools that development teams use to build and deploy applications. This course is exceptionally valuable as containerization is often at the core of modern platform design. You will gain a comprehensive understanding of Docker, from setting it up on various operating systems to managing containers using the Docker CLI. Learning to build and optimize Docker images, including advanced concepts like multistage Dockerfiles, directly equips you to design robust and efficient internal developer platforms. The practical projects involving containerizing NGINX, Express, and React applications provide hands-on experience essential for a Platform Engineer to create scalable and developer-friendly environments.
Backend Developer
A Backend Developer focuses on building the server-side logic, APIs, and databases that power web and mobile applications. Containerization has become a standard practice for deploying backend services, making this course highly relevant. You will learn to master the fundamentals of Docker, including how to create, manage, and deploy containers and Docker images. The project focused on containerizing an Express application is directly applicable, providing practical experience in packaging and running backend services. Understanding how to build and optimize Docker images ensures that your backend applications are efficient, scalable, and ready for deployment in production environments. This course helps one to streamline development workflows and ensure consistent application behavior across different stages.
Site Reliability Engineer
Site Reliability Engineers are responsible for the availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning of services. A deep understanding of containerization is indispensable for this role. This course helps you to manage and optimize containerized applications, crucial for maintaining system reliability. You will learn how to create, manage, and deploy Docker containers and images, enabling you to build resilient systems. The in-depth look at Docker images, including optimization techniques and distroless images, directly contributes to building more secure and efficient services. By mastering Docker, one can effectively troubleshoot, monitor, and scale containerized services, which are critical tasks for a Site Reliability Engineer.
Build Engineer
A Build Engineer is crucial for automating the compilation, testing, and packaging of software into deployable artifacts. In contemporary development, these artifacts are frequently Docker images. This course helps a Build Engineer to master the fundamentals of Docker, including how to create, manage, and deploy containers and Docker images efficiently. You will gain in-depth knowledge of Docker image structure, how to use Dockerfiles to build customized images, and advanced optimization techniques. The focus on building and optimizing Docker images, including layered architecture and multistage Dockerfiles, directly supports the creation of lean and secure build outputs, which is a primary responsibility for any Build Engineer.
Release Engineer
Release Engineers manage the software release process, from code commit to production deployment, often leveraging automation and containerization. This course provides comprehensive skills directly relevant to this role. You will learn to master the fundamentals of Docker, including creating, managing, and deploying containers and Docker images, which are central to modern release pipelines. Understanding how to build and optimize Docker images, including advanced topics like multistage Dockerfiles and distroless images, is crucial for creating secure and efficient release artifacts. This course helps one to automate deployment workflows, ensure application consistency across environments, and accelerate the delivery of software effectively and reliably as a Release Engineer.
Infrastructure Engineer
Infrastructure Engineers are responsible for the design, implementation, and maintenance of an organization's IT infrastructure, ensuring systems are robust and performant. In modern environments, this frequently involves managing containerized applications and services. This course provides comprehensive knowledge of Docker fundamentals, helping an Infrastructure Engineer to set up and manage container runtimes across MacOS, Linux, and Windows. You will gain expertise in creating, managing, and deploying Docker containers and images, and understanding their architectural benefits over virtual machines. The detailed modules on optimizing Docker images, including layered architecture and efficiency techniques, are particularly relevant for building and maintaining resilient and scalable infrastructure.
Software Engineer
A Software Engineer designs, develops, and maintains software applications across various domains. In today's landscape, containerization is becoming an essential skill for engineers to ensure their applications are portable, scalable, and easy to deploy. This course helps a Software Engineer understand the fundamentals of Docker, including how to create, manage, and deploy containers. The hands-on projects, such as containerizing Express and React applications, provide direct experience in packaging and running software, making the deployment process more efficient. By understanding Docker, one can develop applications that are production-ready from the start, integrate seamlessly into CI/CD pipelines, and collaborate more effectively within development teams.
Technical Lead Software Development
As a Technical Lead Software Development, you guide your team in adopting best practices, selecting appropriate technologies, and ensuring successful project execution. A solid understanding of containerization is essential for leading modern development teams. This course helps a Technical Lead to grasp the fundamentals of Docker, including how to create, manage, and deploy containers and Docker images. The practical experience gained from containerizing NGINX, Express, and React applications equips one to guide team members in efficient development and deployment workflows. Understanding image optimization and Docker's architecture allows you to make informed decisions about technology stacks and deployment strategies for your team. This course helps one to effectively mentor and lead teams in leveraging Docker for scalable and consistent application delivery.
Solutions Architect
Solutions Architects design complex IT systems, defining the technical vision and structure for software solutions. In today's technological landscape, containerization is a common and powerful architectural pattern. This course helps a Solutions Architect to understand the fundamentals of Docker, including containers versus virtual machines, Docker's architecture, and managing containers. Gaining insight into how to build and optimize Docker images, and containerize real-world applications like NGINX, Express, and React, is crucial for designing scalable, resilient, and portable application platforms. This course helps one to better inform architectural decisions, ensuring proposed solutions leverage modern deployment strategies for efficiency and maintainability. This is often a role that typically requires an advanced degree.
Security Engineer
A Security Engineer is responsible for protecting systems and data, identifying vulnerabilities, and implementing robust security measures. This course may be useful for a Security Engineer, particularly through its focus on Docker images. You will learn about Docker's architecture and how images are built and optimized. The module delving into advanced image concepts, including distroless images, is highly relevant for minimizing the attack surface of containerized applications. Understanding these principles helps one to identify potential security risks within container images and deployments, implement best practices for secure container configurations, and ensure that applications run in hardened environments, which is critical for bolstering overall system security posture.
Quality Assurance Engineer
A Quality Assurance Engineer is vital in ensuring software meets quality standards, performing testing, and identifying defects. While not directly focused on testing, this course may be useful for a Quality Assurance Engineer to understand the environments where applications are deployed. You will learn about Docker fundamentals, including how applications are packaged into containers and how they run. Understanding the containerization process, such as setting up Docker and managing containers, helps in replicating production environments for testing purposes. This knowledge allows for more accurate and consistent testing, providing a clearer picture of how an application will behave in its deployed state. It facilitates creating more reliable testing strategies for containerized applications.
Machine Learning Engineer
A Machine Learning Engineer focuses on developing, deploying, and maintaining machine learning models and systems. Containerization is increasingly used to package models and their dependencies for deployment, ensuring reproducibility and scalability. This course may be useful for a Machine Learning Engineer to understand Docker fundamentals, including how to create and manage containers and Docker images. The ability to containerize applications, as demonstrated with Express and React projects, provides a practical foundation for packaging machine learning models and inference services. This helps ensure consistent environments for model execution, simplifies deployment across various platforms, and supports MLOps practices for reliable model delivery and management.
Data Engineer
A Data Engineer designs, builds, and maintains the infrastructure and systems for collecting, processing, and storing data. Modern data pipelines often leverage containerization for portability and consistent execution of data processing tasks. This course may be useful for a Data Engineer to understand the fundamentals of Docker, including how to create and manage containers. Learning to containerize real-world applications provides practical experience applicable to packaging data processing jobs, analytical tools, or machine learning pipelines. This enables consistent execution across different environments, from development to production, which is crucial for reproducible data workflows. It helps one to build more robust and scalable data solutions, ensuring efficient resource utilization.

Reading list

We haven't picked any books for this reading list yet.
Collection of recipes that show you how to solve common problems with Docker. It covers a wide range of topics, from building and running containers to deploying applications in production. It is an excellent resource for anyone who wants to learn more about Docker.
Comprehensive guide to Docker. It covers everything from the basics to advanced topics like Docker Swarm and Kubernetes. It is perfect for anyone who wants to learn more about Docker and how to use it to build and deploy applications.
Provides a hands-on approach to learning Docker. It covers a wide range of topics, from setting up a Docker environment to deploying applications in production. It is ideal for anyone who wants to get started with Docker quickly.
Collection of recipes that show you how to solve common problems with Docker. It covers a wide range of topics, from building and running containers to deploying applications in production. It is an excellent resource for anyone who wants to learn more about Docker.
Great introduction to Docker for cloud developers. It covers the basics of Docker, as well as how to use it to build and deploy applications in the cloud. It is ideal for anyone who wants to get started with Docker quickly.
Collection of best practices for using Docker. It covers a wide range of topics, from security to performance. It is an excellent resource for anyone who wants to learn more about Docker.
Great introduction to Docker for DevOps engineers. It covers the basics of Docker, as well as how to use it to build and deploy applications in a DevOps environment. It is ideal for anyone who wants to get started with Docker quickly.
Great introduction to Docker for developers. It covers the basics of Docker, as well as how to use it to build and deploy applications. It is ideal for anyone who wants to get started with Docker quickly.
Provides a comprehensive overview of Docker, the leading containerization platform. It's a great choice for anyone looking to gain a deep understanding of the topic.
Provides a high-level overview of DevOps, a set of practices that aim to improve collaboration and communication between development and operations teams. While not specifically about containerization, it covers many relevant topics, such as continuous integration and continuous delivery.
Provides a comprehensive overview of the principles and patterns for designing and building data-intensive applications. While not specifically about containerization, it covers many relevant topics, such as distributed systems, data storage, and caching.
Focuses on the security aspects of containerization. It covers best practices for securing containerized applications and protecting against vulnerabilities.
Provides a comprehensive overview of Kubernetes Operators, a powerful mechanism for automating the management of complex Kubernetes applications. It's a great choice for anyone looking to gain a deep understanding of the topic.
This practical guide focuses specifically on Docker, the leading containerization platform. It's a great resource for developers who want to get hands-on experience with building and deploying containerized applications.
Provides a comprehensive overview of cloud native patterns, a set of best practices for building and deploying cloud-native applications. It's a great choice for anyone looking to gain a deep understanding of the topic.
Comprehensive guide to Docker. It covers everything from the basics to advanced concepts such as Docker Swarm and Docker Compose.
Collection of Docker recipes that can be used to solve common problems. It valuable resource for anyone who uses Docker on a regular basis.
Deep dive into the internals of Docker. It covers everything from the Docker architecture to the Docker APIs.
Provides a comprehensive overview of Docker, covering both the basics and advanced concepts. It is written by two Docker experts who have a deep understanding of the technology.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser