We may earn an affiliate commission when you visit our partners.
Course image
Alex Parker and Upkar Lidder

Take the next step in your software engineering career by getting skilled in container tools and technologies! The average salary for jobs that require container skills is $137,000 in the US according to salary.com, making Devops professionals and developers with these skills highly in demand. More than 70 percent of Fortune 100 companies are running containerized applications. But why?

Read more

Take the next step in your software engineering career by getting skilled in container tools and technologies! The average salary for jobs that require container skills is $137,000 in the US according to salary.com, making Devops professionals and developers with these skills highly in demand. More than 70 percent of Fortune 100 companies are running containerized applications. But why?

Using containerization, organizations can move applications quickly and seamlessly among desktop, on-premises, and cloud platforms.

In this beginner course on containers, learn how to build cloud native applications using current containerization tools and technologies such as Docker, container registries, Kubernetes, Red Hat, OpenShift, and Istio. Also learn how to deploy and scale your applications in any public, private, or hybrid cloud.

By taking this course you will familiarize yourself with:

- Docker objects, Dockerfile commands, container image naming, Docker networking, storage, and plugins

- Kubernetes command line interface (CLI), or “kubectl” to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic kubectl commands

- ReplicaSets, autoscaling, rolling updates, ConfigMaps, Secrets, and service bindings

- The similarities and differences between OpenShift and Kubernetes

Each week, you will apply what you learn in hands-on, browser-based labs. By the end of the course, you’ll be able to build a container image, then deploy and scale your container on the cloud using OpenShift.

The skills taught in this course are essential to anyone in the fields of software development, back-end & full-stack development, cloud architects, cloud system engineers, devops practitioners, site reliability engineers (SRE), cloud networking specialists and many other roles.

Enroll now

What's inside

Syllabus

Containers and Containerization
Start your first week by learning about container concepts, features, use cases, and benefits. Building on your new knowledge of containers, you’ll learn what Docker does and discover why Docker is a winner with developers. You’ll learn what Docker is, become acquainted with Docker processes, and explore Docker’s underlying technology. Learn about how developers and organizations can benefit from using Docker and see which situations are challenging for using Docker. Next, learn how to build a container image using a Dockerfile, how to create a running container using that image, become familiar with the Docker command line interface (CLI), and explore frequently used Docker commands. You’ll become knowledgeable about Docker objects, Dockerfile commands, container image naming, and learn how Docker uses networks, storage, and plugins. Then, assimilate this knowledge when you see Docker architecture components in action and explore containerization using Docker. At the end of this first week, you’ll pull an image from a Docker Hub registry. You’ll run an image as a container using Docker, build and tag an image using a Dockerfile, and push that image to a registry. 
Read more
Kubernetes Basics
In week two, learn what container orchestration is. Then, explore how developers can use container orchestration to create and manage complex container environment development lifecycles. Kubernetes is currently the most popular container orchestration platform. You’ll examine key Kubernetes architectural components, including control plane components and controllers. Explore Kubernetes objects, and learn how specific Kubernetes objects such as Pods, ReplicaSets, and Deployments work. Then, learn how developers use the Kubernetes command line interface (CLI), or “kubectl” to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic kubectl commands. You’ll be able to differentiate the benefits and drawbacks of using imperative and declarative commands. At the end of this module, you will use the kubectl CLI commands to create resources on an actual Kubernetes cluster. At the end of this week, you’ll use the Kubernetes CLI to create a Kubernetes pod, create a Kubernetes deployment, create a ReplicaSet and see Kubernetes load balancing in action.
Managing Applications with Kubernetes
In week three, you’ll explore ReplicaSets, autoscaling, rolling updates, ConfigMaps, Secrets, and service bindings, and learn how you can use these capabilities to manage Kubernetes applications. You’ll learn how ReplicaSets scale applications to meet increasing demand, and how autoscaling creates dynamic demand-based scaling. You’ll see how to use rolling updates to publish application updates and roll back changes without interrupting the user experience. You’ll learn how to use ConfigMaps and Secrets to provide configuration variables and sensitive information to your deployments and to keep your code clean. At the end of the week, you’ll scale and update applications deployed in Kubernetes.
The Kubernetes Ecosystem: OpenShift, Istio, etc.
In week four, you’ll learn more about the growing Kubernetes ecosystem and explore additional tools that work well with Kubernetes to support cloud-native development. You’ll gain an understanding of the similarities and differences between Red Hat ® OpenShift® and Kubernetes and see what OpenShift architecture looks like. You’ll learn about OpenShift builds and BuildConfigs, and OpenShift build strategies and triggers. You'll also discover how operators can deploy whole applications with ease. Finally, you’ll examine how the Istio service mesh manages and secures traffic and communication between an application’s services. At the end of the week, you’ll use the oc CLI to perform commands on an OpenShift cluster. And you’ll use the OpenShift build capabilities to deploy an application from source code stored in a Git repository.
Final Assignment
For the Final Project, you will put into practice the tools and concepts learned in this course, and deploy a simple guestbook application with Docker and Kubernetes.The entire application will be deployed and managed on OpenShift.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds fundamentals that serve as a strong foundation for learners with no prior knowledge of containerization
Taught by instructors recognized for their work in containerization, Upkar Lidder and Alex Parker
Develops skills and knowledge that are highly sought after in the job market
May require learners to purchase additional tools or software

Save this course

Save Introduction to Containers w/ Docker, Kubernetes & OpenShift to your list so you can find it easily later:
Save

Reviews summary

Containers with docker, kubernetes, openshift

learners say this course is largely positive for beginners who want to learn about containers, Kubernetes, Docker, and OpenShift. Many students mention that the engaging assignments and hands-on labs were very helpful in cementing their understanding of the difficult exams and theoretical concepts. According to reviews, this course is well received by those new to the field with some prior experience. Some reviewers say that the lectures could be improved, and that the final project is difficult due to outdated instructions. Note that reviewers praise the instructors and the deadlines are reasonable, but that the certificates are not mentioned in any of the reviews.
Engaging hands-on labs reinforce concepts.
"The hands-on lab exercise helped me in understanding the code in a better way."
Excellent course for beginners.
"Great course for beginners and intermediate developers to gain knowlege on container technology"
Lectures delivered by a robotic voice.
"The information provided only gives a superficial overview of the topics and cannot fully help in understanding them."
"This is not a course. It's just a demo to show that Docker is good! You will learn nothing from a narrator who I don't know if they are human or AI."
Some technical difficulties with labs.
"The final project is an absolute mess and is impossible to complete."
"Some problems in final exam, and instructions was not as clear as one gotten used to."
Outdated final project instructions.
"The final project is with bugs so it is hard to complete."
"The final project connections were extremely unreliable and it was a struggle to wait for everything to work to finish the source."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Containers w/ Docker, Kubernetes & OpenShift with these activities:
Docker Concepts Refresher
Ensure a strong foundation by refreshing Docker concepts.
Browse courses on Docker
Show steps
  • Review Docker documentation.
  • Complete a Docker tutorial.
Review Shell and Linux Commands
Reinforces critical system administration skills and commands, providing foundational knowledge for understanding containerization technologies in the course.
Browse courses on Docker
Show steps
  • Review core Linux commands (e.g., ls, cd, mkdir)
  • Familiarize yourself with different shells (e.g., bash, zsh)
  • Practice basic file and directory operations
  • Explore advanced commands (e.g., grep, sed, awk)
Review introduction to docker
Helps build a strong foundation in Docker concepts and understanding.
Browse courses on Docker
Show steps
  • Review Docker official documentation.
  • Practice creating dockerfiles and building docker images.
  • Review docker run command and different options.
14 other activities
Expand to see all activities and additional details
Show all 17 activities
Review Docker Networking
Review the concepts of Docker networking to strengthen foundational knowledge and prepare for upcoming lessons on Kubernetes orchestration.
Browse courses on Docker Networking
Show steps
  • Define Docker networks and explain how they differ from host networks.
  • Describe the different types of Docker networks (bridge, overlay, host, none).
  • Explain how to create and manage Docker networks using the Docker CLI.
Docker Hands-On Lab
Solidify understanding by following along with hands-on labs.
Show steps
  • Set up your development environment.
  • Build a Docker image.
  • Run a container from your image.
  • Inspect your container.
  • Deploy your container to the cloud.
Follow Docker Tutorials and Build Sample Images
Provides practical hands-on experience with Docker, enabling students to build custom container images and deepen their understanding of container technology.
Browse courses on Docker
Show steps
  • Choose a tutorial from the Docker documentation
  • Follow the tutorial step-by-step
  • Build and run the sample container
  • Explore the Dockerfile and understand the instructions
  • Modify the Dockerfile to customize the container
Kubernetes Command Line Drills
Practice using the Kubernetes command-line interface (kubectl) to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic commands.
Browse courses on kubectl
Show steps
  • Create a Kubernetes pod using kubectl.
  • Create a Kubernetes deployment using kubectl.
  • Create a ReplicaSet and observe Kubernetes load balancing in action.
Kubernetes Tutorial
Supplement course content with external tutorials.
Browse courses on Kubernetes
Show steps
  • Find a reputable Kubernetes tutorial.
  • Work through the tutorial.
  • Experiment with the concepts you've learned.
Kubernetes Discussion Group
Engage with peers to reinforce learning and explore new perspectives.
Browse courses on Kubernetes
Show steps
  • Join a Kubernetes discussion group.
  • Participate in discussions.
  • Share your knowledge and experiences.
Practice debugging Kubernetes
Improves understanding of Kubernetes cluster and provides hands-on practice for debugging.
Browse courses on Kubernetes
Show steps
  • Create a Kubernetes cluster.
  • Deploy an application and intentionally introduce debugging.
  • Use Kubernetes tools to debug the application.
  • Analyze logs and metrics to identify problems.
Containerization Resource Collection
Facilitate ongoing learning by compiling valuable resources.
Browse courses on Containerization
Show steps
  • Gather resources on containerization.
  • Organize resources into a central location.
  • Share resources with others.
Kubernetes Command Line Exercises
Enhances proficiency with Kubernetes commands, ensuring familiarity with essential tasks and operations in managing containerized applications.
Browse courses on Kubernetes
Show steps
  • Set up a Kubernetes cluster (e.g., Minikube, Docker Desktop)
  • Create and manage pods using kubectl commands
  • Deploy and scale applications using deployments and ReplicaSets
  • Explore advanced kubectl commands (e.g., logs, port-forwarding)
Follow Istio tutorials
Expands knowledge of Istio service mesh and its capabilities.
Browse courses on Istio
Show steps
  • Visit Istio official documentation.
  • Follow Istio tutorials to create a service mesh.
  • Experiment with Istio features like traffic routing and security.
Containerized Application
Demonstrate mastery by building and deploying a containerized application.
Browse courses on Containerization
Show steps
  • Design your application.
  • Code your application.
  • Containerize your application.
  • Deploy your application to the cloud.
  • Test your application.
Build a Web Application with Docker and Kubernetes
Provides a comprehensive capstone project that integrates skills learned throughout the course to create and deploy a real-world application using Docker and Kubernetes.
Browse courses on Docker
Show steps
  • Choose a web framework and language (e.g., Django, Node.js)
  • Create a Dockerfile for the web application
  • Deploy the application to a Kubernetes cluster
  • Configure load balancing and autoscaling (e.g., Ingress, Horizontal Pod Autoscaler)
  • Monitor and troubleshoot the application
Create a blog post on Containerization
Solidifies understanding of containerization concepts and enhances communication skills.
Browse courses on Containerization
Show steps
  • Identify a topic.
  • Research and gather information.
  • Structure the blog post and write the content.
  • Proofread and edit the post.
Contribute to OpenShift project
Provides real-world experience in OpenShift development and collaboration.
Browse courses on OpenShift
Show steps
  • Find an issue.
  • Fork the repository and clone it.
  • Work on the issue and create a pull request.
  • Collaborate with OpenShift maintainers.

Career center

Learners who complete Introduction to Containers w/ Docker, Kubernetes & OpenShift will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers lead and support efforts to design, develop, test, and implement software for web-based applications, mobile phones, computer systems, and more. With this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. Completing this course will give you the skills you need to succeed as a Software Engineer in today's competitive job market.
Backend Developer
Backend Developers work on the server-side of applications, ensuring that the application interacts with databases, servers, and other applications correctly. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. These are essential skills for any Backend Developer who wants to succeed in today's competitive job market.
Full-Stack Developer
Full-Stack Developers are responsible for both the front-end and back-end of web applications. With this course, you will gain the skills you need to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. Completing this course will give you the competitive edge you need to succeed as a Full-Stack Developer.
Cloud Architect
Cloud Architects design, build, and manage cloud computing systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. These skills are essential for any Cloud Architect who wants to succeed in today's competitive job market.
Cloud Systems Engineer
Cloud Systems Engineers are responsible for the day-to-day management of cloud computing systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course will give you the skills you need to succeed in a role as a Cloud Systems Engineer.
DevOps Practitioner
DevOps Practitioners help bridge the gap between development and operations teams. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. Completing this course will give you the knowledge and skills you need to be successful as a DevOps Practitioner.
Site Reliability Engineer (SRE)
Site Reliability Engineers (SREs) are responsible for the reliability of cloud computing systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course will give you the skills you need to succeed in a role as a Site Reliability Engineer (SRE).
Cloud Networking Specialist
Cloud Networking Specialists design, build, and manage cloud networking systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course will give you the skills you need to succeed in a role as a Cloud Networking Specialist.
Containerization Specialist
Containerization Specialists are responsible for the implementation and management of containerization technologies such as Docker and Kubernetes. With this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. Completing this course will give you the skills and knowledge you need to succeed as a Containerization Specialist.
Kubernetes Administrator
Kubernetes Administrators are responsible for the deployment, management, and maintenance of Kubernetes clusters. This course will teach you how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. Completing this course will give you the skills you need to be successful as a Kubernetes Administrator.
IT Architect
IT Architects design, build, and manage IT systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course will help you build a foundation for success in a role as an IT Architect.
Systems Administrator
Systems Administrators are responsible for the day-to-day management of computer systems. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course may also help you to build a foundation for success in a role as a Systems Administrator.
DevOps Engineer
DevOps Engineers work to bridge the gap between development and operations teams. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. You will also learn how to deploy and scale your applications in any public, private, or hybrid cloud. This course may also help you to build a foundation for success in a role as a DevOps Engineer.
Cloud Developer
Cloud Developers are responsible for developing and maintaining cloud-based applications. By taking this course, you will learn how to build a cloud native application using current containerization tools and technologies such as Docker and Kubernetes. This course may also help you to build a foundation for success in a role as a Cloud Developer.
Network Engineer
Network Engineers design, build, and manage computer networks. This course may help you to build a foundation for success in a role as a Network Engineer.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Containers w/ Docker, Kubernetes & OpenShift.
Provides a comprehensive overview of Docker, from its architecture and components to advanced topics such as Docker Swarm and Kubernetes integration. It is an excellent resource for anyone looking to gain a deeper understanding of Docker.
Provides a practical guide to Kubernetes, covering topics such as cluster architecture, deployment strategies, and troubleshooting. It valuable resource for those who want to learn how to use Kubernetes in a real-world environment.
Provides a deep dive into Docker, covering topics such as Docker architecture, image building, container networking, and security. It valuable resource for those who want to gain a more comprehensive understanding of Docker.
Provides a practical guide to building and deploying microservices on Kubernetes. It valuable resource for anyone looking to learn how to build scalable and resilient cloud-native applications.
Provides a comprehensive overview of OpenShift, covering topics such as architecture, installation, and management. It valuable resource for those who want to learn how to use OpenShift to deploy and manage containerized applications.
Provides a practical guide to implementing DevOps best practices for cloud-native applications running on Kubernetes. It valuable resource for anyone looking to learn how to build, deploy, and operate cloud-native applications in a scalable and efficient manner.
Provides a practical guide to using Kubernetes to manage containerized applications. It valuable resource for anyone looking to learn how to use Kubernetes in a production environment.
Provides a practical guide to implementing continuous delivery pipelines. It valuable resource for anyone looking to learn how to automate the software development and delivery process.
Provides a comprehensive overview of site reliability engineering (SRE) principles and practices. It valuable resource for anyone looking to learn how to build and operate reliable and scalable systems.
Provides a comprehensive overview of DevOps best practices. It valuable resource for anyone looking to learn how to improve the performance and reliability of their software development and delivery processes.

Share

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

Similar courses

Here are nine courses similar to Introduction to Containers w/ Docker, Kubernetes & OpenShift.
Introduction to Containers, Kubernetes and OpenShift
Most relevant
Guided Project: Create and Deploy Your First Kubernetes...
Most relevant
Guided Project: Create and Deploy Your First Kubernetes...
Most relevant
Guided Project: Get Started with Red Hat OpenShift
Most relevant
Guided Project: Get Started with Red Hat OpenShift V2
Most relevant
Using Docker on AWS with the Command Line
Most relevant
Guided Project: Containerize Java Microservices with...
Most relevant
Guided Project: Containerize Java Microservices with...
Most relevant
Red Hat Certified Specialist in OpenShift Administration:...
Most relevant
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 - 2024 OpenCourser