Mô tả

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 UNDERSTAND Docker main features like

  • Docker Volumes

  • Docker Networking

  • Environment Variables

Also you will UNDERSTAND Kubernetes main features like

  • Pods

  • Nodes

  • Cluster

  • Services

You will also get 30-days money-back guarantee. No questions asked!

Don't wait and join the course now!

Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

45 sections

Introduction

4 lectures
Course introduction
01:49
Let's get connected! Join the Learning Community
00:26
GitHub Repository for the Docker course
00:10
IMPORTANT Course Structure
00:34

Docker Installation

3 lectures
CHAPTER 1 - Installing Docker Desktop on Mac
04:57
Installing Docker Desktop on Windows
05:08
Installing Docker Engine on Linux
07:44

Basic Docker Containers (Ubuntu, Busybox, Alpine)

4 lectures
Running hello-world container
04:55
Running Ubuntu container
10:58
Running Busybox container
08:13
Alpine vs Busybox images
12:11

Port and Volume Mapping in the Docker Containers

5 lectures
Running Nginx with exposed port
09:21
Nginx container with custom content
12:25
Adding favicon to the project
06:27
WINDOWS: using path variable
00:07
Using path variable in volume mapping
04:26

Docker Containers Management (Ubuntu, NGINX)

5 lectures
Running containers in background
10:42
Running container with Pseudo TTY
07:37
Creating multiple Ubuntu containers from the same image
06:17
Running multiple Nginx servers
11:05
Cleaning up stopped containers
08:06

Running Python Applications in Docker

4 lectures
Creating Python containers
05:35
Simple Python program
07:47
CHALLENGE Simple Python calendar app
02:42
CHALLENGE SOLUTION Simple Python calendar app
04:22

Running Node.js Applications in Docker

7 lectures
Running Node.js container
05:23
Hello world application with Node
04:12
Express web server using Node
12:29
Add handling of the SIGINT and SIGTERM signals
06:20
CHALLENGE Create files handling Node app
03:17
CHALLENGE SOLUTION Create files handling Node app
07:54
Conclusion - containers can create and modify external files
02:06

Running MongoDB Containers

5 lectures
Pulling Mongo image and creating first Mongo container
02:45
Starting additional processes in the running container
05:44
What is entrypoint and where is it located
04:06
Creating new Mongo database using Mongo shell
08:26
Running Mongo container with persistent database
13:07

Communication between Containers and Environment Variables (MySQL, phpMyAdmin)

8 lectures
Starting Wordpress container
06:01
Plan for the next lectures - networks and environment variables
02:01
Default bridge network and communication between containers
06:29
Exploring environment variables
04:32
Starting MySQL container with env variable
04:39
Launching another phpMyAdmin container
06:50
Connecting phpMyAdmin to MySQL container
08:45
Making notes of the commands
04:11

Default and Custom Bridge Networks in Docker (Wordpress, MySQL)

10 lectures
Communication using hostnames in the default bridge network
07:30
Inspecting default bridge network
03:59
Creating new custom bridge network
03:04
Creating busybox containers in the custom network
06:10
Using custom persistent names for connectivity in the custom network
07:44
MySQL and phpMyAdmin in the custom network
11:08
CHALLENGE Wordpress with MySQL and phpMyAdmin
02:39
CHALLENGE SOLUTION Wordpress with MySQL and phpMyAdmin - PART 1
11:27
CHALLENGE SOLUTION Wordpress with MySQL and phpMyAdmin - PART 2
08:50
Summary for the Wordpress and MySQL setup
03:02

Additional Containers - Elasticsearch, Redis, Httpd

8 lectures
Getting docker image with curl utility
06:45
CHALLENGE Run Elasticsearch and curl containers in the custom network
02:12
CHALLENGE SOLUTION Run Elasticsearch and curl containers in the custom network
11:07
Inserting documents into Elasticsearch index
08:52
Starting Redis container
04:32
CHALLENGE Redis and Redis-commander
01:47
CHALLENGE SOLUTION Redis and Redis-commander
07:09
Launching httpd container
02:07

CHAPTER 2 - Docker on Practice Summary and Intro to the Docker Fundamentals

2 lectures
Docker Fundamentals Practical section summary
00:52
Introduction to the Docker Fundamentals Chapter
01:20

What is Docker and Docker Components

16 lectures
Virtual Machines vs Docker Containers
01:31
Virtual Machines Architecture
03:37
How I use Virtual Machines
10:20
My computer just ran out of memory
01:18
Docker Containers Architecture
05:57
How Docker is running on different Operating Systems
04:11
Container Processes and Resources
05:52
Docker Components Overview
02:55
Docker Client
04:18
Docker Server
03:42
Docker Host
05:35
Docker Image
02:04
Docker Container
02:40
Docker Repository
02:36
Docker Registry
03:48
Docker Components Summary
02:57

Introduction to the Images and Containers

10 lectures
Docker Commands vs Management Commands
05:00
Alternative Commands
03:48
Basic Container and Images commands
03:42
Cleaning up my Docker setup
04:49
Pulling images from the Docker Hub
03:46
What is Docker Image
06:04
Creating new Container from the Image
03:34
What is CMD in the Docker Image
02:44
What is Docker Container
09:58
Summary for the Introduction to the Images and Containers
01:41

CHAPTER 3 - Getting started with Linux

11 lectures
Why you need to know Linux while stydying Docker
01:26
Introduction to the Linux Section
01:30
Possible options to use Linux on MacOS and Windows
01:40
Creating Linux container using Docker
02:56
What is Shell, Terminal and Command
04:29
Getting information about Linux computer
05:30
How Shell understands that you have entered command
04:39
Getting help about commands using man utility
06:40
Command Options
08:12
Command Arguments
09:36
Arguments for Options
04:33

Processes in Linux

6 lectures
What are processes
01:19
List running processes
03:46
Starting additional processes and killing processes
05:41
Installing htop package using apt-get
02:51
Using htop utility
04:42
Summary for Processes Monitoring
05:39

Data Streams and Piping in Linux

6 lectures
Data Streams of the Process
02:25
Redirecting STDOUT and STDERR to the file
04:28
Where process data streams send data by default
03:14
How to send data to STDIN and redirect STDOUT and STDERR
11:01
Piping
04:51
Summary for the Data Streams and Piping
01:25

Files and Directories Management in Linux

12 lectures
Introduction to the Files and Directories management
00:56
Linux File System structure and navigation
10:06
Listing files and directories
09:35
Exploring subdirectories of the root directory
06:49
Creating and removing directories and files
05:22
Creating new files
04:53
Editing files using Vim and Nano editors
07:06
Copy and move files and directories
08:52
Reading files
05:41
Filtering text using grep command
04:56
Soft vs Hard links
07:00
Creating hard and soft links
08:42

Search operations in Linux

6 lectures
Introduction to the Find command
05:15
Searching files using Find command
05:05
Some other examples of the Find command
05:13
Executing additional commands inside of the Find operation
06:31
Xargs command
04:24
Piping results of the Find command to the other command using Xargs
05:00

Compressing and Sorting in Linux

4 lectures
Overview of the tar and gzip utilities
03:41
Creating and extracting compressed archive using tar and gzip
07:45
Sorting files using ls command
04:42
Sorting contents of the files using Sort utility
06:23

User Management and Permissions in Linux

5 lectures
Introduction to the User Management in Linux
01:54
Creating users using useradd command
14:18
Creating new user using adduser command
06:49
Changing ownership of the file
10:02
Changing permissions
14:07

Executable Files and Scripting in Linux

3 lectures
Creating executable script
08:20
Adding path to the scripts into the PATH variable
04:57
Summary for Users, Permissions and Scripts
00:48

Networking in Linux

6 lectures
Introduction to the Linux Networking Section
00:45
Exploring IP address settings
09:58
Verifying connectivity with remote servers
06:18
Enabling SSH on the Linux server
06:37
Connecting to the Linux server remotely via SSH
08:11
Using curl and wget utilites
05:14

Environment Variables in Linux

3 lectures
Environment variables
05:42
SOLUTION - Script with environment variables access
02:54
Linux Chapter Summary
00:21

CHAPTER 4 - Launching Course Project application without Docker

11 lectures
Introduction to the Dockerfiles and Docker Compose Chapter
01:28
Cloning remote Docker repository with project files
03:50
Project Overview
03:14
Getting Unsplash API Key
07:03
OPTIONAL Installing Node.js and NPM
01:28
OPTIONAL Installing Python, Pip and Pipenv on MacOS
12:44
OPTIONAL Installing Python, Pip and Pipenv on Windows
08:20
OPTIONAL Starting frontend app using NPM
05:04
OPTIONAL Starting api application using Python
08:09
Verifying how Images Gallery project works
04:00
Summary for start of the app without Docker
03:36

Building custom images using Dockerfiles

13 lectures
Initializing Git and GitHub for the project
14:37
Installing Docker and hello-world using Docker
05:31
Creating Dockerfile for the Python API service
16:34
Building Docker image for the API service
08:57
Running API containers based on the built Docker image
08:17
Analyzing API Docker container from inside
13:26
Docker image for the API service Summary
02:49
Creating Dockerfile for the frontend application
06:26
Building Docker image for the frontend app
04:38
Running Docker container for the frontend service
03:14
Exploring frontend container from inside
04:07
Why you need to have node_modules folder and python venv folders locally
07:59
Running both frontend and api containers in background
05:30

Launching multiple services using Docker Compose

11 lectures
Creating basic docker-compose file
04:50
Bringing up both containers using docker-compose
08:05
How to operate containers using docker-compose
03:32
Creating volumes mapping for the frontend service
10:12
Fix volumes sync in the React container
03:38
Enabling volumes mapping for the api service
07:54
Enabling auto-restart and docker-compose summary for api and frontend
03:59
Why do we need mongo and mongo-express services
03:52
Mongo and mongo-express official docker images overview
05:47
Adding mongo and mongo-express services to the docker-compose file
04:43
Starting all services including mongo and mongo-express using docker-compose
04:36

Exploring Docker Compose Setup

8 lectures
Docker Desktop Overview
07:18
Using Mongo shell and mongo-express GUI
07:13
MongoDB data is now deleted after docker-compose restart
04:05
Configuring persistent data volume for the mongo container
05:57
Verifying persistent MongoDB storage using volume
03:36
Mongo and mongo-express setup Summary
03:41
How docker-compose containers communicate with each other
04:18
Exploring networking between Docker containers
06:50

Kubernetes for Beginners Introduction

1 lectures
Kubernetes Introduction
02:29

Kubernetes Overview

5 lectures
What is Kubernetes
04:11
What is Pod
01:39
Kubernetes Cluster and Nodes
02:22
Kubernetes Services
03:41
What is kubectl
03:10

Minikube Installation

3 lectures
Software required for this course
04:30
Installing kubectl
03:18
Installing Minikube
04:40

Kubernetes Cluster

2 lectures
Creating Kubernetes cluster using Minikube
04:14
Exploring the Kubernetes node
06:50

Kubernetes Pod Creation

3 lectures
Creating just single Pod
05:25
Exploring Kubernetes Pod
06:52
Creating alias for the kubectl command
02:32

Kubernetes Deployment Creation

3 lectures
Creating and exploring Deployment
08:46
Scaling Deployment
03:04
Connecting to one of the Pods using its IP address
02:24

Kubernetes Service Creation

3 lectures
What is Service
01:59
Creating and exploring ClusterIP Service
05:24
Connecting to the Deployment using ClusterIP Service
04:21

Kubernetes Deployment and Service Deletion

1 lectures
Deleting Deployment and Service
01:29

Running Node.js Application using K8S

7 lectures
Creating Node web application
07:41
Dockerizing Node application
08:35
Pushing custom image to the Docker Hub
01:45
Creating deployment based on the custom Docker image
05:46
Scaling custom image deployment
03:30
Creating NodePort Service
04:41
Creating LoadBalancer Service
03:02

Rolling Updates and Pods Recovery

2 lectures
Rolling update of the deployment
08:45
What happens when one of the pods is deleted
01:05

Kubernetes Dashboard

1 lectures
Kubernetes Dashboard
04:22

Kubernetes YAML Specification Files

4 lectures
Creating YAML deployment specification file
06:17
How to use Kubernetes documentation
03:39
Applying YAML deployment file
03:47
Creating YAML service specification file
03:46

Kubernetes Multiple Deployments Creation

6 lectures
Plan for the creation of the two deployments
03:21
Creating another web app with two endpoints
03:50
Building custom Docker image for the second web app
01:37
Creating YAML specification for the second web app
02:31
Creating YAML specification for the NGINX app
03:10
Applying specifications for both apps
01:57

Interaction between Deployments

3 lectures
Verifying connectivity between different deployments
03:10
Resolving Service name to IP address
02:45
Deleting both applications
01:17

Kubernetes CRI-O Container Runtime

3 lectures
Changing Container Runtime from Docker to CRI-O
03:53
Deploying apps using CRI-O container runtime
01:23
Verifying connectivity between deployments
01:07

Kubernetes Summary

1 lectures
Kubernetes Summary
00:38

Docker and Kubernetes Course Summary

2 lectures
Docker Complete Guide Summary
00:29
Bonus Lecture
00:44

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.