4.66 sur 5
4.66

Docker et Kubernetes : le guide complet

Créez, testez et déployez des applications Docker avec Kubernetes tout en apprenant les workflows de développement de type production
Apprenez Docker à partir de zéro, aucune expérience préalable requise
Maîtriser la CLI Docker pour inspecter et déboguer les conteneurs en cours d'exécution
Créez un pipeline CI + CD à partir de zéro avec Github, Travis CI et AWS
Comprendre le but et la théorie de Kubernetes en créant une application complexe
Déployez automatiquement votre code lorsqu'il est poussé vers Github !

Si vous en avez assez de tourner en rond pour apprendre à déployer des applications Web, ce cours est fait pour vous.

 

Flux de travail CI+CD  ? Vous l’apprendrez. Déploiement AWS ? Inclus. Kubernetes en production ? Bien sûr !

Il s’agit du cours ultime pour apprendre à déployer n’importe quelle application Web dont vous pouvez rêver. Docker et Kubernetes sont les technologies les plus récentes du monde Dev Ops et ont radicalement changé le flux de création et de déploiement d’applications Web. Docker est une technologie qui permet aux applications de s’exécuter dans des constructions appelées “conteneurs”, tandis que Kubernetes permet à de nombreux “conteneurs” différents de s’exécuter en coordination.

 

Docker à partir de zéro !

Dans ce cours, vous allez apprendre Docker à partir des fondamentaux absolus, en commençant par apprendre la réponse aux questions de base telles que “Qu’est-ce qu’un conteneur ?” et “Comment fonctionne un conteneur ?”. Dès les premières conférences, nous ferons une exploration approfondie du fonctionnement interne des conteneurs, afin que vous obteniez une compréhension de base de la manière exacte dont ils sont implémentés. Une fois que vous aurez compris ce qu’est un conteneur, vous apprendrez à l’utiliser à l’aide des commandes de base de la CLI Docker. Après cela, vous appliquerez votre nouvelle maîtrise de la CLI Docker pour créer vos propres images personnalisées, « Dockerisant » efficacement vos propres applications personnelles.

 

CI + CD Pipelines

Bien sûr, aucun cours sur Docker ne serait complet sans une compréhension complète de modèles communs d’intégration continue et de déploiement continu. Vous apprendrez à mettre en œuvre un flux de travail CI + CD complet à l’aide de Github, Travis CI et Amazon Web Services, en créant un pipeline qui déploye automatiquement votre code chaque fois que vous poussez votre dernières modifications apportées à Github !

 

Déploiements multi-conteneurs sur AWS !

Après avoir créé un pipeline de déploiement, vous Je l’appliquerai pour maîtriser les déploiements à conteneur unique et à conteneurs multiples sur Amazon Web Services. Vous construirez une application multi-conteneurs utilisant Node, React, Redis et Postgres, et verrez l’incroyable puissance des conteneurs en action (Remarque : tout le codage Javascript dans ce cours est facultatif, le code source complet est fourni si vous ne voulez pas écrire de JS).

 

Kubernetes !

Enfin, vous aborderez Kubernetes, un système de niveau production permettant de gérer des applications complexes avec de nombreux conteneurs en cours d’exécution différents. Vous apprendrez la bonne façon de créer un cluster Kubernetes – ce cours ne contient aucun de ces commentaires ennuyeux “ne faites pas cela en production”  ! Vous allez d’abord créer un cluster Kubernetes sur votre machine locale, puis le déplacer vers un fournisseur de cloud. Vous apprendrez même à configurer HTTPS sur Kubernetes, ce qui est plus difficile qu’il n’y paraît !

 

Voici ce que vous ce que je ferai :

  • Apprenez Docker à partir de zéro, aucune expérience préalable requise
  • Créez vos propres images personnaliséesadaptées à vos applications
  • Maîtrisez la CLI Docker pour inspecter et déboguer les conteneurs en cours d’exécution
  • Comprendre comment Docker fonctionne en coulisses et ce qu’est un conteneur
  • Créer un Pipeline CI + CD à partir de zéro avec Github, Travis CI et AWS
  • Déployez automatiquement votre code lorsqu’il est transmis à Github !
  • Créez une application multi-conteneurs complexe à partir de zéro et déployez-la sur AWS
  • Comprendre l’objectif et la théorie de Kubernetes
  • Déployer un cluster Kubernetes prêt pour la production pour Google Cloud

Dive Into Docker!

1
Finished Code and Diagrams
2
Join Our Community!
3
Why Use Docker?
4
What is Docker?
5
Docker for Mac/Windows
6
Installing Docker on MacOS
7
Installing Docker with WSL2 on Windows 10 Home and Pro
8
Installing Docker for Windows Professional with HyperV
9
More Windows Professional Setup with HyperV
10
One Last Piece of Windows Professional Setup with HyperV
11
Installing Docker on Linux
12
Using the Docker Client
13
But Really...What's a Container?
14
How's Docker Running on Your Computer?

Manipulating Containers with the Docker Client

1
Docker Run in Detail
2
Overriding Default Commands
3
Listing Running Containers
4
Container Lifecycle
5
Restarting Stopped Containers
6
Removing Stopped Containers
7
Retrieving Log Outputs
8
Stopping Containers
9
Multi-Command Containers
10
Executing Commands in Running Containers
11
The Purpose of the IT Flag
12
Getting a Command Prompt in a Container
13
Starting with a Shell
14
Container Isolation

Building Custom Images Through Docker Server

1
Creating Docker Images
2
Buildkit for Docker Desktop
3
Building a Dockerfile
4
Dockerfile Teardown
5
What's a Base Image?
6
The Build Process in Detail
7
A Brief Recap
8
Rebuilds with Cache
9
Tagging an Image
10
Quick Note for Windows Users
11
Manual Image Generation with Docker Commit

Making Real Projects with Docker

1
Project Outline
2
Node Server Setup
3
A Few Planned Errors
4
Required Node Base Image Version
5
Base Image Issues
6
A Few Missing Files
7
Copying Build Files
8
Container Port Mapping
9
Specifying a Working Directory
10
Unnecessary Rebuilds
11
Minimizing Cache Busting and Rebuilds

Docker Compose with Multiple Local Containers

1
App Overview
2
App Server Starter Code
3
Assembling a Dockerfile
4
Introducing Docker Compose
5
Docker Compose Files
6
Networking with Docker Compose
7
Docker Compose Commands
8
Stopping Docker Compose Containers
9
Container Maintenance with Compose
10
Automatic Container Restarts
11
Container Status with Docker Compose

Creating a Production-Grade Workflow

1
Development Workflow
2
Flow Specifics
3
Docker's Purpose
4
Project Generation
5
Create React App Generation
6
More on Project Generation
7
Necessary Commands
8
Creating the Dev Dockerfile
9
Duplicating Dependencies
10
Starting the Container
11
Docker Volumes
12
WSL2 and Windows Users Must Read Before Next Lecture
13
Bookmarking Volumes
14
Shorthand with Docker Compose
15
Overriding Dockerfile Selection
16
Do We Need Copy?
17
Executing Tests
18
Live Updating Tests
19
Docker Compose for Running Tests
20
Shortcomings on Testing
21
Need for Nginx
22
Multi-Step Docker Builds
23
Implementing Multi-Step Builds
24
Running Nginx

Continuous Integration and Deployment with AWS

1
Services Overview
2
Github Setup
3
Important Info About Travis and Account Registration
4
Travis CI Setup
5
Travis YML File Configuration
6
Required Travis Script Updates
7
A Touch More Travis Setup
8
Automatic Build Creation
9
Required Updates for Amazon Linux 2 Platform - DO NOT SKIP
10
AWS Elastic Beanstalk
11
More on Elastic Beanstalk
12
Travis Config for Deployment
13
Automated Deployments
14
Exposing Ports Through the Dockerfile
15
Workflow With Github
16
Redeploy on Pull Request Merge
17
Deployment Wrapup
18
Environment Cleanup
19
AWS Configuration Cheat Sheet
20
Finished Project Code with Updates Applied

Building a Multi-Container Application

1
Single Container Deployment Issues
2
Application Overview
3
A Quick Note
4
Application Architecture
5
Worker Process Setup
6
Express API Setup
7
Important Update for Table Query
8
Connecting to Postgres
9
More Express API Setup
10
Create React App Generation
11
Generating the React App
12
Fetching Data in the React App
13
Rendering Logic in the App
14
Exporting the Fib Class
15
Routing in the React App

"Dockerizing" Multiple Services

1
Checkpoint Files
2
Checkpoint Catchup
3
Expected Output for Latest Create React App Versions
4
Dockerizing a React App - Again!
5
Dockerizing Generic Node Apps
6
Adding Postgres as a Service
7
Docker-compose Config
8
Postgres Database Required Fixes and Updates
9
Environment Variables with Docker Compose
10
Required Worker Environment Variables
11
The Worker and Client Services
12
Nginx Path Routing
13
Routing with Nginx
14
Building a Custom Nginx Image
15
Starting Up Docker Compose
16
Nginx connect() failed - Connection refused while connecting to upstream
17
Troubleshooting Startup Bugs
18
WebSocket connection to 'ws://localhost:3000/ws' failed
19
Opening Websocket Connections

A Continuous Integration Workflow for Multiple Images

1
Production Multi-Container Deployments
2
Production Dockerfiles
3
Multiple Nginx Instances
4
Nginx fix for React Router
5
Altering Nginx's Listen Port
6
Cleaning Up Tests
7
Github and Travis CI Setup
8
Fix for Failing Travis Builds
9
Travis Configuration Setup
10
Pushing Images to Docker Hub
11
Successful Image Building

Multi-Container Deployments to AWS

1
Important Info About Multi Containers on Amazon Linux 2 Platform
2
Multi-Container Definition Files
3
Finding Docs on Container Definitions
4
Adding Container Definitions to DockerRun
5
More Container Definitions
6
Forming Container Links
7
Using the Amazon Linux 2 Platform
8
AWS Configuration Cheat Sheet - Updated for new UI
9
Creating the EB Environment
10
Managed Data Service Providers
11
Overview of AWS VPC's and Security Groups
12
RDS Database Creation
13
ElastiCache Redis Creation
14
Creating a Custom Security Group
15
Applying Security Groups to Resources
16
Setting Environment Variables
17
IAM Keys for Deployment
18
Travis Keys Update
19
Travis Deploy Script
20
Container Memory Allocations
21
Verifying Deployment
22
A Quick App Change
23
Making Changes
24
Cleaning Up AWS Resources
25
AWS Configuration Cheat Sheet
26
Finished Project Code with Updates Applied

Onwards to Kubernetes!

1
The Why's and What's of Kubernetes
2
Kubernetes in Development and Production
3
Docker Desktop's Kubernetes Setup and Installation - macOS
4
Docker Desktop's Kubernetes Setup and Installation - Windows
5
Updated Minikube Install and Setup Info - macOS
6
Minikube Setup on MacOS
7
Minikube Setup on Windows
8
Minikube Setup on Linux
9
Mapping Existing Knowledge
10
Quick Note to Prevent an Error
11
Adding Configuration Files
12
Object Types and API Versions
13
Running Containers in Pods
14
Service Config Files in Depth
15
Connecting to Running Containers
16
The Entire Deployment Flow
17
Imperative vs Declarative Deployments

Maintaining Sets of Containers with Deployments

1
Updating Existing Objects
2
Declarative Updates in Action
3
Limitations in Config Updates
4
Running Containers with Deployments
5
Quick Note to Prevent an Error
6
Deployment Configuration Files
7
Walking Through the Deployment Config
8
Applying a Deployment
9
Why Use Services?
10
Scaling and Changing Deployments
11
Updating Deployment Images
12
Rebuilding the Client Image
13
Triggering Deployment Updates
14
Imperatively Updating a Deployment's Image
15
Reminder for Docker Desktop's Kubernetes Users
16
Multiple Docker Installations
17
Reconfiguring Docker CLI
18
Why Mess with Docker in the Node?

A Multi-Container App with Kubernetes

1
The Path to Production
2
Checkpoint Files
3
A Quick Checkpoint
4
Recreating the Deployment
5
NodePort vs ClusterIP Services
6
The ClusterIP Config
7
Applying Multiple Files with Kubectl
8
Express API Deployment Config
9
Cluster IP for the Express API
10
Combining Config Into Single Files
11
The Worker Deployment
12
Reapplying a Batch of Config Files
13
Creating and Applying Redis Config
14
Important Note about Expected Postgres Error
15
Last Set of Boring Config!
16
The Need for Volumes with Databases
17
Kubernetes Volumes
18
Volumes vs Persistent Volumes
19
Persistent Volumes vs Persistent Volume Claims
20
Claim Config Files
21
Persistent Volume Access Modes
22
Where Does Kubernetes Allocate Persistent Volumes?
23
Designating a PVC in a Pod Template
24
Applying a PVC
25
Defining Environment Variables
26
Adding Environment Variables to Config
27
Creating an Encoded Secret
28
Postgres Environment Variable Fix
29
Passing Secrets as Environment Variables
30
Environment Variables as Strings

Handling Traffic with Ingress Controllers

1
Load Balancer Services
2
A Quick Note on Ingresses
3
One Other Quick Note!
4
Behind the Scenes of Ingress
5
More Behind the Scenes of Ingress
6
Optional Reading on Ingress Nginx
7
Docker Driver and Ingress - IMPORTANT
8
Important - DO NOT SKIP - Ingress Nginx Installation Info
9
Setting up Ingress Locally with Minikube
10
Ingress v1 API Update + "this.state.seenIndexes.map..." + 404 errors
11
Creating the Ingress Configuration
12
Testing Ingress Locally
13
The Minikube Dashboard
14
Docker Desktop's Kubernetes Dashboard

Kubernetes Production Deployment

1
The Deployment Process
2
Google Cloud vs AWS for Kubernetes
3
Creating a Git Repo
4
Linking the Github Repo to Travis
5
Free Google Cloud Credits
6
Creating a Google Cloud Project
7
Linking a Billing Account
8
Updated GKE creation steps for new Google Cloud UI
9
Kubernetes Engine Init
10
Creating a Cluster with Google Cloud
11
Don't Forget to Cleanup!
12
Kubernetes Dashboard on Google Cloud
13
Travis Deployment Overview
14
Installing the Google Cloud SDK
15
Updated Service Account steps for new GCP UI
16
Generating a Service Account
17
Ruby Version Fix
18
Running Travis CLI in a Container
19
Travis Login Issues, "iv undefined" or "repository not known"
20
Encrypting a Service Account File
21
More Google Cloud CLI Config
22
Fix For Failing Travis Builds
23
Running Tests with Travis
24
Custom Deployment Providers
25
Unique Deployment Images
26
Unique Tags for Built Images
27
Updating the Deployment Script
28
Configuring the GCloud CLI on Cloud Console
29
Creating a Secret on Google Cloud
30
Helm v3 Update
31
Helm Setup
32
Kubernetes Security with RBAC
33
Assigning Tiller a Service Account
34
Ingress-Nginx with Helm
35
Quick Note about the Default Backend
36
The Result of Ingress-Nginx
37
Finally - Deployment!
38
Did I Really Type That?
39
Verifying Deployment
40
A Workflow for Changing in Prod
41
Merging a PR for Deployment
42
That's It! What's Next?
43
Completed Code For Google Cloud Deployment

HTTPS Setup with Kubernetes

1
HTTPS Setup Overview
2
Domain Purchase
3
Domain Name Setup
4
Required Updates for Cert Manager Install
5
Cert Manager Install
6
How to Wire Up Cert Manager
7
Required Update for Issuer
8
Issuer Config File
9
Required Update for the Certificate
10
Certificate Config File
11
Deploying Changes
12
No Resources Found?
13
Verifying the Certificate
14
Required Update for the HTTPS Ingress
15
Ingress Config for HTTPS
16
It Worked!
17
Google Cloud Cleanup
18
Local Environment Cleanup

Local Development with Skaffold

1
Awkward Local Development
2
Installing Skaffold
3
The Skaffold Config File
4
Skaffold Sync Update and Example Source Code
5
Live Sync Changes
6
Automatic Shutdown
7
Testing Live Sync with the API Server

Extras

1
Bonus!
Vous pouvez afficher et ru00e9viser les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur, alors assurez-vous d'u00eatre du bon cu00f4tu00e9u00a0!
4.7
4.7 sur 5
Notes48979

Détails des Notes

Étoiles 5
30261
Étoiles 4
15266
Étoiles 3
2869
Étoiles 2
377
Étoiles 1
206
Garantie de remboursement de 30 jours

Inclut

21 heures de vidéo à la demande
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed