Course Highlights
  • How to use Docker, Compose and Kubernetes on your machine for better software building and testing.
  • Learn Docker and Kubernetes official tools from an award-winning Docker Captain!
  • Learn faster with included live chat group (50,000 members!) and monthly live Q&A.
  • Gain the skills to build development environments with your code running in containers.
  • Build Swarm and Kubernetes clusters for server deployments!
  • Setup GitHub Actions to auto-build your images and scan for security vulnerabilities
  • Hand's-on with best practices for making Dockerfiles and Compose files like a Pro!
  • Build and publish your own custom images.
  • Create your own custom image registry to store your apps and deploy in corporate environments.
Curriculum

3 Topics
What is Docker in 2023? The Three Innovations
Quick Container Run
Why Docker? Why Now in 2023?

5 Topics
Course Roadmap (overview)
Getting Course Resources (GitHub Repo)
Course Chat with Students Learning Containers
YouTube Live Q&A with Bret
The Big FAQ

8 Topics
Installing The Right Docker for this course
Installing Docker: The Fast Way
Docker for Windows: Setup and Tips
Docker for Mac: Setup and Tips
Docker for Linux Desktop: Setup and Tips
Docker for Linux Server: Setup and Tips
VS Code for DevOps Docker and YAML Editing
Docker Version and Products Changes

21 Topics
Check Our Docker Install and Config
Starting a Nginx Web Server
Debrief: What Happens When We Run a Container
Container VS. VM: It's Just a Process
Windows Containers: Should You Consider Them?
Assignment: Manage Multiple Containers
Assignment Answers: Manage Multiple Containers
Container Commands
What's Going On In Containers: CLI Process Monitoring
Use MariaDB rather than MySQL
Getting a Shell Inside Containers: No Need for SSH
Docker Networks: Concepts for Private and Public Comms in Containers
FIXME: Change In Official Nginx Image Removes Ping
Docker Networks: CLI Management of Virtual Networks
Docker Networks: DNS and How Containers Find Each Other
More Container Commands
Assignment: Using Containers for CLI Testing
Assignment Answers: Using Containers for CLI Testing
Changes To Upcoming Assignment
Assignment: DNS Round Robin Test
Assignment Answers: DNS Round Robin Test

11 Topics
What's In An Image (and What Isn't)
The Mighty Hub: Using Docker Hub Registry Images
Images and Their Layers: Discover the Image Cache
Image Tagging and Pushing to Docker Hub
Building Images: The Dockerfile Basics
Building Images: Running Docker Builds
Building Images: Extending Official Images
Images
Assignment: Build Your Own Dockerfile and Run Containers From It
Assignment Answers: Build Your Own Dockerfile and Run Containers From It
Using Prune to Keep Your Docker System Clean (YouTube)

13 Topics
Container Lifetime & Persistent Data
Persistent Data: Data Volumes
Shell Differences for Path Expansion
Persistent Data: Bind Mounting
Persistent Data
Database Passwords in Containers
Updated Postgres Version for Next Video Assignment
Assignment: Database Upgrades with Named Volumes
Assignment Answers: Update for Recent Postgres Changes
Assignment Answers: Database Upgrades with Named Volumes
File Permissions Across Multiple Containers
Assignment: Edit Code Running In Containers With Bind Mounts
Assignment Answers: Edit Code Running In Containers With Bind Mounts

12 Topics
Docker Compose and The docker-compose.yml File
Compose V2
Trying Out Basic Compose Commands
Version Dependencies in Multi-Tier Apps
Compose Assignments
Compose-Assignment-1: Build a Compose File For a Multi-Container Project
Compose-Assignment-1 Answers: Build a Compose File For a Multi-Container Project
Adding Image Building to Compose Files
Using MariaDB rather than PostgreSQL
Compose-Assignment-2: Compose For Image Building
Compose-Assignment-2 Answers: Compose For Image Building
Docker Compose

6 Topics
Swarm Mode: Built-In Orchestration
Create Your First Service and Scale It Locally
UI Change For Service Create/Update
Use Multipass to create Docker Swarm and K8s VMs
Creating a 3-Node Swarm Cluster
Swarm Mode Basics

12 Topics
Sections Requirements for Swarm Drupal and Postgres
Scaling Out with Overlay Networking
Scaling Out with Routing Mesh
Docker Swarm Networking
Assignment: Create A Multi-Service Multi-Node Web App
Assignment Answers: Create A Multi-Service Multi-Node Web App
Swarm Stacks and Production Grade Compose
Secrets Storage for Swarm: Protecting Your Environment Variables
Using Secrets in Swarm Services
Using Secrets with Swarm Stacks
Assignment: Create A Stack with Secrets and Deploy
Assignment Answers: Create A Stack with Secrets and Deploy

6 Topics
Using Secrets With Local Docker Compose
Full App Lifecycle: Dev Build and Deploy With a Single Compose Design
Service Updates: Changing Things In Flight
Healthchecks in Dockerfiles
Swarm App Lifecycle
Info on Swarm Mastery

7 Topics
Docker Hub: Digging Deeper
Understanding Docker Registry
Run a Private Docker Registry
Assignment: Secure Docker Registry With TLS and Authentication
Using Docker Registry With Swarm
Third Party Image Registries
Container Registries

3 Topics
My DockerCon Talk on Docker and Swarm in Production
The Future of Swarm
Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)

5 Topics
Kubernetes Intro
What Is Kubernetes
Why Kubernetes
Kubernetes vs Swarm
The What and Why of Kubernetes

5 Topics
Section Intro
Kubernetes Architecture Terminology
Kubernetes Local Install
Kubernetes Container Abstractions
Kubernetes Architecture and Install

7 Topics
Kubectl run create and apply
Your First Pod With kubectl run
Cheat Sheets for Kubectl
Your First Deployment With kubectl create
Scaling ReplicaSets
1.18 Changes to Kubectl Run
Your First Pods

6 Topics
Section Intro
Inspecting Resources with Get
Inspecting Resources with Describe
Watching Resources
Container Logs in Kubernetes
Inspecting Kubernetes Resources

7 Topics
Section Intro
Service Types
MicroK8s and DNS for Services
Creating a ClusterIP Service
Running Netshoot in Kubernetes
Creating a NodePort and LoadBalancer Service
Kubernetes Services DNS

4 Topics
Section Intro
YAML Generators in kubectl Commands
Imperative vs. Declarative
Three Management Approaches

8 Topics
Section Intro
Kubectl apply
Kubernetes Configuration YAML
Building Your YAML Files
Building Your YAML Spec
Dry Run CLI Changes
Dry Runs and Diff's
Labels and Label Selectors

8 Topics
Section Intro
Storage in Kubernetes
Ingress
CRD's and The Operator Pattern
Higher Deployment Abstractions
Kubernetes Dashboard
Namespaces and Context
Future of Kubernetes

6 Topics
Section Intro: Automation
The Pull Request
Automation is the Glue of DevOps
Basic PR Workflow
Intermediate PR Workflow
Advanced PR Workflow

13 Topics
Section Intro
Assignments for this Section
Add Basic Docker Build
Add BuildKit Cache
Add Multi-Platform Builds
Add Metadata and Dynamic Tags
Add GitHub Comments
Add CVE Scanning of Images
Add CVE Scan Blocking
Add Unit & Integration Testing
Add Kubernetes Smoke Test
Bonus: Add Job Parallelization to GHA
Implement These Automations

12 Topics
Section Intro: Top 10 Security Steps for Docker
Docker Cgroups and Namespaces
Docker Engine's Out-Of-The-Box Security Features
Docker Bench The Host Configuration Scanner
Using USER in Dockerfiles to Avoid Running as Root
Docker User Namespaces for Extra Host Security
Code Repo and Image Scanning for CVE's
Sysdig Falco Content Trust and Custom Seccomp and AppArmor Profiles
Docker Rootless Mode
The Security Top 10 Differences for Windows Containers
What are Distroless Images?
Are Swarm and Kubernetes Secrets Really Secure?

7 Topics
Section Intro
BuildKit and the new Docker buildx CLI
Docker Context and SSH Connections
Docker App and Image Packaging of Compose YAML
Rootless Mode in Docker Engine
Docker Desktop Enterprise
Docker Desktop Enterprise Clusters

20 Topics
DevOps and Docker Talk Intro
Alpine Base Images. Are They Really More Secure?
Dealing With Non-root Users In Containers and File Permissions
Apache Web Server Design. Many Sites In One Container or Many Containers?
Docker Network IP Subnet Conflicts with Outside Networks
Raspberry Pi Development in Docker
Windows 10 Containers Get Process Isolation
Should You Move Postgres to Containers
Using Supervisor To Run Multiple Apps In A Container
Should You Use Docker Compose or Swarm For A Single Server?
Docker Environment Configs Variables and Entrypoints
Java and JBoss in Containers. One .war File Per Container?
TLS in Dev and Prod with Docker
Multiple Docker Images From One Git Repo
Docker + ARM Using Raspberry Pi or AWS A1 Instances with Docker
Docker and Swarm RBAC Options
ENTRYPOINT vs. CMD what's the difference in Dockerfiles
How to Use External Storage in Docker
Can I Turn a VM into a Container?
Startup Order With Multi-Container Apps

2 Topics
DockerCon 2022 Talk
Node.js Rocks in Docker

5 Topics
Section Intro - My Reviews Of Your Dockerfiles
Real World PHP Dockerfile Review
Real World PHP Apache and Alpine Dockerfile Review
Real World PHP and FPM Dockerfile Review
Real World Elasticsearch Compose Stack File

4 Topics
Node.js Good Defaults For Docker
PHP and Docker Good Defaults Project Template
About the DCA (Docker Certificated Associate) and Kubernetes Certifications
Bonus

  Write a Review

Docker Mastery: with Kubernetes +Swarm from a Docker Captain

Go to Paid Course