
Explore the basic elements of containers, including Docker and Kubernetes, and how microservices run in containerized environments. Discover the foundational purpose, operation, and cloud deployment options for containers.
Access downloadable study guides, lab manuals with commands, and the full slide deck, plus the course landing page and related resources.
In this introductory lesson, the instructor provides foundational knowledge about containers, likening them to small applications that don't necessitate a dedicated machine. Emphasizing the concept of microservices and their role in containers, the lesson also introduces the critical term API (Application Programming Interface), explaining it as a universal language enabling communication between applications, even if written in different programming languages.
In this lesson, the instructor introduces the concept of microservices and compares them to traditional monolithic application architecture. Exploring the benefits of microservices, such as increased resilience, flexible scaling, and modular development, the lesson emphasizes the ease with which developers can replace parts of an application, ultimately highlighting the advantages of this approach in cloud computing environments.
In this brief overview, the instructor covers key terms related to DevOps, dependencies, hypervisors, and AWS (Amazon Web Services). DevOps is explained as an organizational approach where development and operations teams collaborate closely, resulting in faster application development. Dependencies refer to when one software relies on another for proper functioning, while a hypervisor is described as software enabling multiple virtual machines on a physical host. AWS is introduced as a cloud service allowing the running of containers and other workloads on hardware managed by Amazon.
In this video, the instructor discusses the disadvantages of utilizing microservices as part of application architecture. The complexity of managing and monitoring multiple microservices introduces operational challenges, requiring a DevOps culture for effective collaboration between development and operations teams. Additional concerns include eventual consistency, where latency in microservices communication may impact user experience, and distribution issues, such as potential delays due to multiple remote calls. The instructor emphasizes the importance of addressing these drawbacks when adopting microservices and containers, highlighting the need for careful consideration in application development.
In this brief overview, the instructor introduces key terms for the upcoming lesson:
Binaries: These are computer programs that exist within a container, and they may fulfill dependencies for other binaries.
ESXi Host or Hyper-V Host: Refers to a hypervisor, such as VMware's ESXi or Microsoft's Hyper-V, allowing multiple virtual machines to run on a single physical host, each with its independent operating system.
Kubernetes: An open-source container orchestration solution, similar to Docker, providing a way to manage and coordinate containers efficiently.
Compute Resources: Specifically, CPU and memory resources that containers utilize, indicating the amount of CPU and memory consumed by the containerized applications.
In this lesson, the instructor explores the concept of containers as the preferred method for running microservices, highlighting their benefits in overcoming challenges related to software deployment across different computing environments. Containers encapsulate the entire runtime environment of an application, including dependencies, libraries, and configuration files, providing a consistent and portable execution environment. The instructor compares containers to virtual machines, emphasizing the lightweight nature of containers due to their ability to share a single operating system instance, resulting in more efficient resource utilization. The lesson concludes with an overview of key terms such as source code, dependencies, container engine, image, and registry, elucidating the process of containerization from code development to deployment.
In this brief lesson, the instructor introduces the term "functions" as a key concept available in cloud platforms like Amazon Web Services, Google Cloud, and Azure. Functions are essentially blocks of code, and in AWS, they are referred to as Lambda Functions. The key advantage of functions is their serverless nature, allowing code execution without the need to manage servers or containers. When an API call is made, the function executes the code, and once completed, the function terminates, providing an efficient and scalable approach to code deployment and execution in the cloud.
In this lesson, the instructor discusses a potential application scenario involving an online slot machine and illustrates the advantages of using containers and microservices for scalability. Instead of relying on a traditional virtual machine (VM) to run the slot machine application continuously, the instructor proposes using containers that are deployed just in time for user sessions. This approach allows for efficient resource utilization, as instances of microservices (containers) are created and terminated dynamically based on demand, ensuring scalability and cost-effectiveness in a cloud computing environment. The concept of horizontal scaling is introduced, emphasizing the elastic nature of scaling in the cloud, and the instructor mentions serverless functions like AWS Lambda as another option for efficiently managing microservices without the need to handle infrastructure details.
In this lesson, the instructor introduces Docker and Kubernetes, highlighting their complementary roles in the container ecosystem. Docker serves as the primary container solution, creating images for applications, while Kubernetes acts as an orchestration tool, dynamically managing the deployment and distribution of containers across clusters to enhance scalability and availability.
This video introduces key Docker terms and concepts, emphasizing Docker as container management software and explaining the significance of images and containers. The lesson provides a clear understanding of Docker's role in managing containerized applications, ensuring portability, and simplifying development across diverse environments.
Learn how to download and run a Docker container on Linux using essential Docker commands. Pull a container image from Docker Hub, create and run a container, view running and stopped containers, inspect container information, and practice stopping, starting, and removing Docker containers from the command line.
Practice running and managing an Nginx web server with Docker. Create containers, configure port mappings, test the web server with curl, view container logs, inspect container configuration, and start, stop, and remove containers.
Learn how to work inside a running Docker container using docker exec and the Linux command line. Execute commands inside an Nginx container, open an interactive Bash shell, explore and modify the container filesystem, and discover what happens to container data when containers are restarted, removed, and re-created.
Learn how to build a custom Docker image using a Dockerfile and run it as a container. Create a custom HTML website, build and tag an Nginx-based Docker image, launch a container with port mapping, test the web application with curl, inspect Docker images, and manage containers from the Linux command line.
Learn how to use Docker volumes for persistent container data. Create and inspect named Docker volumes, mount persistent storage into Nginx containers, preserve data when containers are removed, share a Docker volume between multiple containers, inspect volume mounts, and remove volumes from the Linux command line.
Learn how to configure Docker networking and container communication using custom bridge networks. Create and inspect Docker networks, connect and disconnect containers, use container names for service-to-service communication, test connectivity with curl, and publish container ports through the Docker host.
discover how multi-container applications use docker compose to coordinate frontend, app, and database services. learn how modular containers, scalable architecture, and linked networking enable fault tolerance and independent updates.
Learn how to use Docker Compose to manage multi-container applications on Linux. Create a Compose YAML file, define Nginx and client services, configure ports and volumes, start multiple containers with docker compose up, test service-to-service communication, view container logs, and manage the application using essential Docker Compose commands.
Learn how to monitor and limit Docker container resources using CPU and memory controls. Use docker stats to monitor resource usage, configure CPU and memory limits for containers, inspect resource settings, and compare container limits with the CPU and memory available on the Docker host.
Discover how to install Docker Desktop on Windows and navigate Home versus Pro editions, with troubleshooting steps and a referenced PDF to support lab exercises.
In this video, the instructor guides viewers through the process of downloading and installing Docker on a Windows PC. The tutorial covers essential steps such as downloading Docker for Windows, addressing potential installation issues, and configuring Docker desktop settings. The demonstration ensures users have a seamless experience getting started with Docker for Windows.
In this video, the focus is on container orchestration, specifically with Kubernetes. The tutorial provides an in-depth understanding of the container infrastructure, emphasizing the role of container images, registry servers, container hosts, and the challenges of orchestrating containers manually. It introduces Kubernetes as a solution, explaining how it uses a declarative API to manage the desired state of containers, master schedulers for intelligent distribution, and the self-healing capabilities that make orchestrating containers at scale efficient and automated.
In the upcoming two videos, Rick will demonstrate deploying a sample application in Kubernetes using Google Cloud. Participants will need a free Google Cloud account and will utilize a lab guide provided in the course resources to streamline the creation of the Kubernetes cluster and application deployment.
In this video, the instructor guides viewers on how to sign up for a Google Cloud account and explains the benefits of the free services offered, including $300 in free credits and access to over 20 products. The process includes simple steps for registration, adding a payment method for the 90-day trial, and a preview of creating a Kubernetes cluster in subsequent lessons.
In this demonstration, Rick guides viewers through the process of setting up and managing a Kubernetes Cluster using Google Kubernetes Engine on the Google Cloud Platform. He explains the steps from creating a new project and enabling necessary APIs to deploying and managing a Kubernetes Cluster, culminating in the proper shutdown and cleanup to avoid incurring charges.
Explore cloud solutions that simplify container orchestration and eliminate complex Docker and Kubernetes setups. Break down AWS, Google Cloud, and Azure services, comparing differences and merits.
In this lesson, we delve into Amazon's ECS (Elastic Container Service) and its integration with Fargate, a managed compute engine. ECS orchestrates container deployment on EC2 instances or Fargate, providing seamless integration with AWS services like ECR (Elastic Container Registry) and auto scaling, with Fargate offering a serverless option for managing containers, simplifying operations and potentially reducing costs based on workload characteristics.
In this video, we explore AWS container services, focusing on Elastic Kubernetes Service (EKS) and its integration with Fargate. The lesson details how EKS simplifies Kubernetes deployment by managing the control plane and allowing seamless integration with Fargate for serverless compute, thereby eliminating the need to manage worker node EC2 instances.
In this lesson, we explore various container service offerings from AWS, Azure, and Google, highlighting key features and differences among them. The discussion emphasizes the importance of selecting a container service based on existing cloud commitments and integration capabilities, with specific attention to the fully managed services of Azure Kubernetes Service and similarities across the platforms.
Discover monthly discounts on all courses, including AWS, VMware, and Udemy offerings, via a link that updates each month to secure the lowest prices.
"This course is awesome for zero to intermediate learners." -Nagendra
"Concise and clear overview of Containers! Pace is great, slides are clear and gets to the point." -Gayle
***Updated November 2026. Includes built-in labs for Udemy Business Pro and Personal Plan Subscribers***
Learn Docker, Kubernetes, and Containers — Even If You're a Complete Beginner!
Are you new to containers, Docker, or Kubernetes? Want to understand these important technologies without getting overwhelmed by complicated technical explanations?
This beginner-friendly course makes learning containers simple!
You'll learn what containers are, why they're important, and how technologies like Docker and Kubernetes are used in modern IT environments. We'll start with the basics and build your knowledge step by step, using clear explanations, real-world examples, and practical demonstrations.
No previous experience with Docker, Kubernetes, or containers is required!
What Will You Learn?
By the end of this course, you'll be able to:
Explain what containers are and why organizations use them.
Understand the differences between containers and virtual machines.
Describe how Docker works and understand important Docker concepts.
Understand the purpose of container images, registries, and Dockerfiles.
Recognize how Docker containers are created, deployed, and managed.
Explain what Kubernetes does and why container orchestration is important.
Understand how microservices and containers work together.
Identify options for running containers in the cloud, including AWS, Azure, and Google Cloud.
Get started with basic Docker commands and container management tasks.
Docker and Kubernetes can seem intimidating when you're first getting started. Many training resources assume you already understand containers, Linux, networking, or cloud computing. This course takes a different approach.
We'll explain important concepts in plain English, introduce terminology gradually, and focus on helping you understand how everything fits together. You'll learn not just what Docker and Kubernetes do, but why these technologies are useful and when organizations choose to use them.
See Containers in Action
Understanding the concepts is important, but seeing them in action makes them much easier to learn. That's why this course also includes hands-on demonstrations and exercises that show you how to work with Docker containers. You'll see how to run containers, work with Docker images, configure networking and storage, and use Docker Compose to manage applications.
You'll also explore Kubernetes and see how containerized applications can be deployed and managed.
You can follow along with the demonstrations to gain practical experience, or simply watch them to reinforce your understanding.
Designed for Complete Beginners
This course is ideal for:
IT professionals who want to understand Docker and Kubernetes.
Students and beginners exploring containers and cloud computing.
Developers who want an introduction to containerization.
Anyone interested in learning more about DevOps and modern application deployment.
Technical managers who want to understand how containers are used in modern IT environments.
Lessons are generally short and focused, making it easy to learn at your own pace.
The course also includes quizzes and downloadable PDF study guides to help reinforce what you've learned.
Learn from an Experienced IT Instructor
I've taught more than 500,000 students across online learning platforms, and I specialize in making complex technical subjects easy to understand.
My goal is to help you build a strong foundation without overwhelming you with unnecessary complexity.
Get Started Today!
Whether you're preparing to learn more about Docker, Kubernetes, DevOps, or cloud computing, understanding containers is an important first step.
Enroll today and build the knowledge and confidence to start working with containers!