We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Docker & Kubernetes

The Complete Practical Guide

Bogdan Stashchuk | Software Engineer, MBA, PhD

This course is all about Docker and Kubernetes

Understand HOW Docker and Kubernetes work and learn their core features ON PRACTICE. This is 90% practice course without no useless demos.

Read more

This course is all about Docker and Kubernetes

Understand HOW Docker and Kubernetes work and learn their core features ON PRACTICE. This is 90% practice course without no useless demos.

Learn how to create different containers like Node.js, Python, Wordpress, MongoDB, MySQL, Redis, Elasticsearch and much more.

Become a master of Docker and Kubernetes by understanding and practicing their main features.

All project files are available in the GitHub repository.

We will start by installing Docker on your computer - MacOS, Windows or Linux. On MacOS and Windows you will install Docker Desktop, on Linux you will install Docker Engine.

Afterwards we will jump into tons of practice activities and use different Docker features. You will pull different docker images and run multiple containers using them.

In practice sections you will perform multiple practice Docker activities:

  1. Run Docker containers in foreground and background

  2. Connect to certain process in the Docker from the Terminal

  3. Expose internal container ports to outside

  4. Add environment variable for container

  5. Create custom names and hostnames for container

  6. Create custom bridge network and run multiple containers inside of it

  7. Communicate between containers

  8. Persist containers folders using volumes mapping

You will also learn and practice how to use following Docker images

  1. Ubuntu

  2. Alpine, Busybox

  3. Node.js

  4. Python

  5. MongoDB

  6. MySQL, phpMyAdmin

  7. NGINX

  8. Wordpress

  9. Elasticsearch

  10. Redis

  11. Httpd

During the course you will need to view and edit text files. For that you will NOT use terminal. Instead you will use GUI application VisualStudio Code. Also all project files are available in the GitHub repository. This means that during this course you will also learn how to use

  • Git and GitHub

  • VisualStudio Code

With this course you will get lifetime-long access to more than 50 lectures and tens of practical exercises. After the course you will get fundamental practical knowledge of Docker and be able to easily use it for development and testing of your applications.

But most important is that you will No questions asked.

Don't wait and join the course now.

Enroll now

What's inside

Learning objectives

  • How to use docker images and create containers
  • Manage docker containers: start, stop, prune, restart
  • Enable port mapping and expose container ports to outside
  • Run node and python applications using docker containers
  • Create environment variables for docker containers
  • Use volumes mapping and use specific working directories in the docker containers
  • Create custom bridge networks and run multiple containers
  • Communicate between containers by container name in the custom bridge network

Syllabus

Introduction
Course introduction
Let's get connected! Join the Learning Community

All course files are available in the GitHub repository

Read more
IMPORTANT Course Structure
Docker Installation
CHAPTER 1 - Installing Docker Desktop on Mac
Installing Docker Desktop on Windows
Installing Docker Engine on Linux
Basic Docker Containers (Ubuntu, Busybox, Alpine)
Running hello-world container
Running Ubuntu container
Running Busybox container
Alpine vs Busybox images
Port and Volume Mapping in the Docker Containers
Running Nginx with exposed port
Nginx container with custom content
Adding favicon to the project
WINDOWS: using path variable
Using path variable in volume mapping
Docker Containers Management (Ubuntu, NGINX)
Running containers in background
Running container with Pseudo TTY
Creating multiple Ubuntu containers from the same image
Running multiple Nginx servers
Cleaning up stopped containers
Running Python Applications in Docker
Creating Python containers
Simple Python program
CHALLENGE Simple Python calendar app
CHALLENGE SOLUTION Simple Python calendar app
Running Node.js Applications in Docker
Running Node.js container
Hello world application with Node
Express web server using Node
Add handling of the SIGINT and SIGTERM signals
CHALLENGE Create files handling Node app
CHALLENGE SOLUTION Create files handling Node app
Conclusion - containers can create and modify external files
Running MongoDB Containers
Pulling Mongo image and creating first Mongo container
Starting additional processes in the running container
What is entrypoint and where is it located
Creating new Mongo database using Mongo shell
Running Mongo container with persistent database
Communication between Containers and Environment Variables (MySQL, phpMyAdmin)
Starting Wordpress container
Plan for the next lectures - networks and environment variables
Default bridge network and communication between containers
Exploring environment variables
Starting MySQL container with env variable
Launching another phpMyAdmin container
Connecting phpMyAdmin to MySQL container
Making notes of the commands
Default and Custom Bridge Networks in Docker (Wordpress, MySQL)
Communication using hostnames in the default bridge network
Inspecting default bridge network
Creating new custom bridge network
Creating busybox containers in the custom network
Using custom persistent names for connectivity in the custom network
MySQL and phpMyAdmin in the custom network
CHALLENGE Wordpress with MySQL and phpMyAdmin
CHALLENGE SOLUTION Wordpress with MySQL and phpMyAdmin - PART 1
CHALLENGE SOLUTION Wordpress with MySQL and phpMyAdmin - PART 2
Summary for the Wordpress and MySQL setup
Additional Containers - Elasticsearch, Redis, Httpd
Getting docker image with curl utility
CHALLENGE Run Elasticsearch and curl containers in the custom network
CHALLENGE SOLUTION Run Elasticsearch and curl containers in the custom network
Inserting documents into Elasticsearch index
Starting Redis container
CHALLENGE Redis and Redis-commander
CHALLENGE SOLUTION Redis and Redis-commander
Launching httpd container
CHAPTER 2 - Docker on Practice Summary and Intro to the Docker Fundamentals
Docker Fundamentals Practical section summary
Introduction to the Docker Fundamentals Chapter
What is Docker and Docker Components
Virtual Machines vs Docker Containers
Virtual Machines Architecture
How I use Virtual Machines
My computer just ran out of memory
Docker Containers Architecture
How Docker is running on different Operating Systems
Container Processes and Resources
Docker Components Overview
Docker Client
Docker Server
Docker Host
Docker Image
Docker Container
Docker Repository
Docker Registry
Docker Components Summary
Introduction to the Images and Containers
Docker Commands vs Management Commands
Alternative Commands
Basic Container and Images commands
Cleaning up my Docker setup
Pulling images from the Docker Hub

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops practical Docker and Kubernetes skills through hands-on practice, making it ideal for learners who prefer applied learning
Taught by Bogdan Stashchuk, a seasoned Software Engineer, MBA, and PhD holder, with expertise in Docker and Kubernetes
Provides a thorough foundation in Docker and Kubernetes, covering essential concepts, features, and best practices
Covers a range of practical use cases, demonstrating how to create and manage containers for various applications, including Node.js, Python, Wordpress, MongoDB, MySQL, and Redis
Emphasizes practice over theory, with 90% of the course dedicated to hands-on activities, ensuring learners develop practical skills
Requires learners to have a basic understanding of Docker and Kubernetes concepts, making it more suitable for intermediate learners

Save this course

Save Docker & Kubernetes: The Complete Practical Guide to your list so you can find it easily later:
Save

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 Docker & Kubernetes: The Complete Practical Guide with these activities:
Review Docker Concepts
Refreshes your understanding of fundamental Docker concepts, ensuring a solid foundation for the course.
Browse courses on Docker
Show steps
  • Revisit the key concepts of Docker, such as images, containers, and networks.
  • Review the basics of Docker commands and operations.
Build a Docker Resource Collection
Helps you organize and expand your knowledge by creating a curated collection of Docker-related resources, such as documentation, tutorials, and community forums.
Browse courses on Docker
Show steps
  • Identify relevant Docker resources from various sources.
  • Create a central location to store and organize the resources.
  • Annotate the resources with brief descriptions and categorize them based on topic.
Explore Docker Documentation
Provides a solid foundation by guiding you through the official Docker documentation, helping you grasp the core concepts and best practices.
Browse courses on Docker
Show steps
  • Navigate to the Docker Documentation website.
  • Review the sections on Docker fundamentals, images, containers, and networking.
  • Explore specific topics of interest, such as container management or troubleshooting.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Host a Docker Study Group
Enhances your learning by fostering collaboration and discussion with peers, leading to a deeper understanding of Docker concepts.
Browse courses on Docker
Show steps
  • Gather a group of interested individuals.
  • Choose a topic or project to focus on.
  • Meet regularly to discuss the topic, share knowledge, and work on projects together.
Attend a Docker Meetup or Workshop
Provides an opportunity for hands-on learning and networking with other Docker enthusiasts, fostering a deeper understanding of the technology.
Browse courses on Docker
Show steps
  • Find a local Docker meetup or workshop.
  • Register for the event and attend.
  • Participate in discussions and hands-on activities.
Practice Running Docker Containers
Help you develop proficiency in running Docker containers, enhancing your comprehension of their fundamental operations.
Browse courses on Docker
Show steps
  • Create a basic Ubuntu container and run it in the foreground.
  • Run a container with a specific process and connect to it using the Terminal.
  • Expose an internal container port to the outside world and access it.
  • Add an environment variable to a container and verify its value.
Exercise Using Custom Docker Networks
Deepens your understanding of network management in Docker by guiding you through the creation and configuration of custom networks.
Browse courses on Docker
Show steps
  • Create a custom bridge network and launch multiple containers within it.
  • Establish communication between containers using their custom hostnames.
  • Configure persistent names for containers to ensure consistent communication.
  • Set up a MySQL container and connect it to a phpMyAdmin container within the same custom network.
Develop a Dockerized Web Application
Solidifies your understanding of Docker by challenging you to create a real-world application using Docker containers.
Browse courses on Docker
Show steps
  • Design the web application and its components.
  • Create Dockerfiles for the application and its dependencies.
  • Build and run the Docker containers for the application.
  • Test the application and troubleshoot any issues.

Career center

Learners who complete Docker & Kubernetes: The Complete Practical Guide will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

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

Similar courses

Here are nine courses similar to Docker & Kubernetes: The Complete Practical Guide.
Handling Data and Stateful Applications in Docker and...
Most relevant
Managing Sitecore Docker Containers
Most relevant
Deploying Containerized Workloads Using Google Cloud...
Most relevant
Introduction to Containers, Kubernetes and OpenShift
Most relevant
Python in Containers
Most relevant
Kubernetes Certified (KCNA) + Hands On Labs + Practice...
Most relevant
Introduction to Docker: Build Your Own Portfolio Site
Most relevant
Learn DevOps: The Complete Kubernetes Course
Most relevant
Using Docker on AWS with the Command Line
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