Docker & Kubernetes: The Complete Practical Guide
-
Introduction
-
Docker Installation
-
Basic Docker Containers (Ubuntu, Busybox, Alpine)
-
Port and Volume Mapping in the Docker Containers
-
Docker Containers Management (Ubuntu, NGINX)
-
Running Python Applications in Docker
-
Running Node.js Applications in DockerRunning Node.js container0sHello world application with Node0sExpress web server using Node0sAdd handling of the SIGINT and SIGTERM signals0sCHALLENGE Create files handling Node app0sCHALLENGE SOLUTION Create files handling Node app0sConclusion – containers can create and modify external files0s
-
Running MongoDB Containers
-
Communication between Containers and Environment Variables (MySQL, phpMyAdmin)Starting WordPress container0sPlan for the next lectures – networks and environment variables0sDefault bridge network and communication between containers0sExploring environment variables0sStarting MySQL container with env variable0sLaunching another phpMyAdmin container0sConnecting phpMyAdmin to MySQL container0sMaking notes of the commands0s
-
Default and Custom Bridge Networks in Docker (WordPress, MySQL)Communication using hostnames in the default bridge network0sInspecting default bridge network0sCreating new custom bridge network0sCreating busybox containers in the custom network0sUsing custom persistent names for connectivity in the custom network0sMySQL and phpMyAdmin in the custom network0sCHALLENGE WordPress with MySQL and phpMyAdmin0sCHALLENGE SOLUTION WordPress with MySQL and phpMyAdmin – PART 10sCHALLENGE SOLUTION WordPress with MySQL and phpMyAdmin – PART 20sSummary for the WordPress and MySQL setup0s
-
Additional Containers – Elasticsearch, Redis, HttpdGetting docker image with curl utility0sCHALLENGE Run Elasticsearch and curl containers in the custom network0sCHALLENGE SOLUTION Run Elasticsearch and curl containers in the custom network0sInserting documents into Elasticsearch index0sStarting Redis container0sCHALLENGE Redis and Redis-commander0sCHALLENGE SOLUTION Redis and Redis-commander0sLaunching httpd container0s
-
CHAPTER 2 – Docker on Practice Summary and Intro to the Docker Fundamentals
-
What is Docker and Docker ComponentsVirtual Machines vs Docker Containers0sVirtual Machines Architecture0sHow I use Virtual Machines0sMy computer just ran out of memory0sDocker Containers Architecture0sHow Docker is running on different Operating Systems0sContainer Processes and Resources0sDocker Components Overview0sDocker Client0sDocker Server0sDocker Host0sDocker Image0sDocker Container0sDocker Repository0sDocker Registry0sDocker Components Summary0s
-
Introduction to the Images and ContainersDocker Commands vs Management Commands0sAlternative Commands0sBasic Container and Images commands0sCleaning up my Docker setup0sPulling images from the Docker Hub0sWhat is Docker Image0sCreating new Container from the Image0sWhat is CMD in the Docker Image0sWhat is Docker Container0sSummary for the Introduction to the Images and Containers0s
-
CHAPTER 3 – Getting started with LinuxWhy you need to know Linux while stydying Docker0sIntroduction to the Linux Section0sPossible options to use Linux on MacOS and Windows0sCreating Linux container using Docker0sWhat is Shell, Terminal and Command0sGetting information about Linux computer0sHow Shell understands that you have entered command0sGetting help about commands using man utility0sCommand Options0sCommand Arguments0sArguments for Options0s
-
Processes in Linux
-
Data Streams and Piping in Linux
-
Files and Directories Management in LinuxIntroduction to the Files and Directories management0sLinux File System structure and navigation0sListing files and directories0sExploring subdirectories of the root directory0sCreating and removing directories and files0sCreating new files0sEditing files using Vim and Nano editors0sCopy and move files and directories0sReading files0sFiltering text using grep command0sSoft vs Hard links0sCreating hard and soft links0s
-
Search operations in Linux
-
Compressing and Sorting in Linux
-
User Management and Permissions in Linux
-
Executable Files and Scripting in Linux
-
Networking in Linux
-
Environment Variables in Linux
-
CHAPTER 4 – Launching Course Project application without DockerIntroduction to the Dockerfiles and Docker Compose Chapter0sCloning remote Docker repository with project files0sProject Overview0sGetting Unsplash API Key0sOPTIONAL Installing Node.js and NPM0sOPTIONAL Installing Python, Pip and Pipenv on MacOS0sOPTIONAL Installing Python, Pip and Pipenv on Windows0sOPTIONAL Starting frontend app using NPM0sOPTIONAL Starting api application using Python0sVerifying how Images Gallery project works0sSummary for start of the app without Docker0s
-
Building custom images using DockerfilesInitializing Git and GitHub for the project0sInstalling Docker and hello-world using Docker0sCreating Dockerfile for the Python API service0sBuilding Docker image for the API service0sRunning API containers based on the built Docker image0sAnalyzing API Docker container from inside0sDocker image for the API service Summary0sCreating Dockerfile for the frontend application0sBuilding Docker image for the frontend app0sRunning Docker container for the frontend service0sExploring frontend container from inside0sWhy you need to have node_modules folder and python venv folders locally0sRunning both frontend and api containers in background0s
-
Launching multiple services using Docker ComposeCreating basic docker-compose file0sBringing up both containers using docker-compose0sHow to operate containers using docker-compose0sCreating volumes mapping for the frontend service0sFix volumes sync in the React container0sEnabling volumes mapping for the api service0sEnabling auto-restart and docker-compose summary for api and frontend0sWhy do we need mongo and mongo-express services0sMongo and mongo-express official docker images overview0sAdding mongo and mongo-express services to the docker-compose file0sStarting all services including mongo and mongo-express using docker-compose0s
-
Exploring Docker Compose SetupDocker Desktop Overview0sUsing Mongo shell and mongo-express GUI0sMongoDB data is now deleted after docker-compose restart0sConfiguring persistent data volume for the mongo container0sVerifying persistent MongoDB storage using volume0sMongo and mongo-express setup Summary0sHow docker-compose containers communicate with each other0sExploring networking between Docker containers0s
-
Kubernetes for Beginners Introduction
-
Kubernetes Overview
-
Minikube Installation
-
Kubernetes cluster
-
Kubernetes Pod Creation
-
Kubernetes Deployment Creation
-
Kubernetes Service Creation
-
Kubernetes Deployment and Service Deletion
-
Running Node.js Application using K8S
-
Rolling Updates and Pods Recovery
-
Kubernetes Dashboard
-
Kubernetes YAML Specification Files
-
Kubernetes Multiple Deployments Creation
-
Interaction between Deployments
-
Kubernetes CRI-O Container Runtime
-
Kubernetes Summary
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!
This course requires you to download Docker Desktop from the official Docker website. If you are a Udemy Business user, please check with your employer before downloading software.
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:
Run Docker containers in foreground and background
Connect to certain process in the Docker from the Terminal
Expose internal container ports to outside
Add environment variable for container
Create custom names and hostnames for container
Create custom bridge network and run multiple containers inside of it
Communicate between containers
Persist containers folders using volumes mapping
You will also learn and practice how to use following Docker images
Ubuntu
Alpine, Busybox
Node.js
Python
MongoDB
MySQL, phpMyAdmin
NGINX
WordPress
Elasticsearch
Redis
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 UNDERSTAND Docker main features like
Docker Volumes
Docker Networking
Environment Variables
Also you will UNDERSTAND Kubernetes main features like
Pods
Nodes
Cluster
Services
Don’t wait and join the course now!
What's included
- 21.5 hours on-demand video
- 6 articles
- Access on mobile and TV
- Certificate of completion