Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Container Fundamentals: A Practical Guide to Docker
About this Course
About this Course
Community Support
Course Updates
Github Repository
Linux Container Core Concepts
Introduction
User Space and Kernel Space
Understanding Linux Process
🧱 LAB: Understanding Nignx Process
Isolating Processess
Underlying Concept of Linux Containers
Linux Namespaces
🧱 LAB: Understanding Linux Namespaces
Linux Control groups
🧱 LAB: Understanding Linux Control Groups
Why Are Containers Better Than VMs?
Docker Basics
Introduction
What is Docker?
Why Docker?
Docker’s Modular Architecture
Docker Workflow
Introduction
Docker Components
Docker Daemon
Docker Image
Docker Registry
Docker Container
Docker Installation and Configuration
Install Docker Desktop
Install Docker on Linux
Validate Docker Installation
Run Docker Commands Without Sudo
Dockerfile
Introduction
How a Dockerfile Works
Important Dockerfile instructions
Core Docker Image Basics
Introduction
Base Image
Build a Image
Image Tags
Understanding Docker Image Layers
Layer Sharing
Layer Storage & Unification
Build Push and Run Docker Image
Introduction
Image Build Workflow
Prepare Files & Dockerfile
Building the Webserver Image
Create a Container From the Image
Push Docker Image To Docker Hub
Useful Docker Commands
Advanced Docker Image Practices
Docker Multistage Build
Using heredoc With Dockerfile
ENTRYPOINT vs CMD
Dockerfile Best Practices
Scratch Image
Dockerizing Applications
Introduction
Dockerize Java Application
Dockerize Python Flask Application
Dockerize Node.js Application
Dockerize Prometheus
Dockerize Grafana
Optimize Docker Images
Introduction
Use Minimal Base Images
Use Multistage builds
Minimize the Number of Layers
Docker Image Caching and Build Optimization (new)
Use Dockerignore
Keep Application Data Elsewhere
Image Optimization With Tools
SlimToolkit
Docker Init
Linting Dockerfiles
Introduction
What is Hadolint?
Install Hadolint
Lint Dockerfiles Using Hadolint
hadolint.yaml
Hadolint in Docker Build Pipelines
Docker Image Security
Introduction
What is Trivy
Install Trivy
Scan Docker Images
Trivy SBOM
Integrating Trivy Scans into image Build Pipelines
Docker Scout
Sign Docker Image
Real World Docker Tasks
Running Custom Shell Scripts In Docker
Running Containers as Non-Root User
Non-Root User Image Considerations
Build non-root user Container Image
Build Images for Multiple Architecture
Image Tags Vs Digests
Keep Docker Container Running for Debugging
Run Docker in Docker Container
Project 01: Automate Docker Image Builds with GitHub Actions
01: Introduction
02: Project Structure
03: Understanding Dockerfile
04: GitHub Actions Workflow Trigger
05: Checkout and Environment Setup
06: Linting Dockerfile
07: Container Image Building (Without Push)
08: Vulnerability Scanning
09: Logging in to Docker Hub
10: Container Image Build and Push
11: Setting Up GitHub Secrets
12: Running and Validating the Workflow
Push Docker Image To Docker Hub
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock