image
The Ultimate Drawing Course Beginner to Advanced...
$179
$79
image
User Experience Design Essentials - Adobe XD UI UX...
$179
$79
Total:
$659

Description

Proud to be a DOCKER ENDORSED course and instructor for 2024!
Now also a CNCF ENDORSED course and instructor in 2024!
2023 Update:
 New CI examples with 18 lectures showing you how to automate Docker and Kubernetes in GitHub Actions, including vulnerability scanning, advanced image building, multi-platform builds, and more. Kubernetes sections were also updated to reflect CLI updates and 5 new videos on inspecting resources.
2022 Update: 
Refreshed install and config videos, and more support for Apple Silicon (M1 arm64) and Raspberry Pi's!
Be ready for the Dockerized future with the number ONE Docker + Kubernetes mega-course on Udemy
. Welcome to the most
complete and up-to-date
course for learning and using containers end-to-end, from development and testing, to server deployments and production.
Taught by an award-winning Docker Captain and DevOps consultant.
Just starting out with Docker?
Perfect. This course starts out assuming you're new to containers.
Or: Using Docker now and need to deal with real-world problems?
I'm here for you! See my production topics around Swarm, Kubernetes, secrets, logging, rolling upgrades, and more.
BONUS:
 This course comes with Slack Chat, Discord Chat server, and live monthly YouTube Q&As with me!
"I've followed another course on (Udemy). This one is a million times more in depth." "...when it comes to all the docker stuff, this is the course you're gonna want to take" - Student Udemy Review
Why should you learn from me? Why trust me to teach you the
best
ways to use Docker?
  (Hi, I'm Bret, please allow me to talk about myself for a sec):
I'm A Practitioner. Welcome to the real world:
I've got 20 years of sysadmin and developer experience, over 30 certifications, and have been using Docker and the container ecosystem for my consulting clients and my own companies since Docker's early days.
Learn from someone who's run hundreds of containers across dozens of projects and organizations
.
I'm An Educator. Learn from someone who knows how to make a syllabus:
I want to help you. People say I'm good at it. For the last few years,
I've trained thousands of people on using Docker in workshops, conferences, and meetups. See me teach at events like DockerCon, O'Reilly Velocity, GOTO Conf, and Linux Open Source Summit
. I hope you'll decide to learn with me, and join the fantastic online Docker community.
I Lead Communities.
Also, I'm a Docker Captain, meaning that
Docker Inc. thinks I know a thing or two about Docker and that I do well in sharing it with others
. In the real-world: I help run two local meetups in our fabulous tech community in Norfolk/Virginia Beach USA. I help online: usually in Slack, Discord, and Twitter, where I learn from and help others.
"Because of the Docker Mastery course, I landed my first DevOps job. Thank you Captain!" - Student Ronald Alonzo
"There are a lot of Docker courses on Udemy -- but ignore those, Bret is the single most qualified person to teach you." - Kevin Griffin, Microsoft MVP
Giving Back: a portion of my profit on this course will be donated to supporting open source and protecting our freedoms online! 
This course is only made possible by the amazing people creating open source. I'm standing on the shoulders of (open source) giants! Donations will be split between my favorite charities including the Electronic Frontier Foundation and Free Software Foundation. Look them up. They're awesome!
This is a living course and will be updated as Docker and Kubernetes features change.
This course is designed to be fast at getting you started but also get you deep into the "why" of things. Simply the fastest and best way to learn the latest container skills. Look at the scope of topics in the Session and see the breadth of skills you will learn.
Also included are Slack and Discord servers with 50k+ students for getting help with this course
and continuing your Docker and DevOps learning with help from myself and other students.
"Bret's course is a level above all of those resources, and if you're struggling to get a handle on Docker, this is the resource you need to invest in." - Austin Tindle, Course Student
Some of the many cool things you'll do in this course:
Edit web code on your machine while it's served up in a container
Lock down your apps in private networks that only expose necessary ports
Create a 3-node Swarm cluster in the cloud
Install Kubernetes and learn the leading server cluster tools
Use Virtual IP's for built-in load balancing in your cluster
Optimize your Dockerfiles for faster building and tiny deploys
Build/Publish your own custom application images
Learn the differences between Kubernetes and Swarm
Create your own image registry
Use Swarm Secrets to encrypt your environment configs, even on disk
Deploy container updates in a rolling always-up design
Create the config utopia of a single set of YAML files for local dev, CI testing, and prod cluster deploys
And so much more...
 
After taking this course, you'll be able to:
Use Docker in your daily developer and/or sysadmin roles
Deploy apps to Kubernetes
Make Dockerfiles and Compose files
Build multi-node Swarm clusters and deploying H/A containers
Make Kubernetes YAML manifests and deploy using infrastructure-as-code methods
Build a workflow of using Docker in dev, then test/CI, then production with YAML
Protect your keys, TLS certificates, and passwords with encrypted secrets
Keep your Dockerfiles and images small, efficient, and fast
Run apps in Docker, Swarm, and Kubernetes and understand the pros/cons of each
Develop locally while your code runs in a container
Protect important persistent data in volumes and bind mounts
Lead your team into the future with the latest Docker container skills!
 
Extra things that come with this course:
Access to the course Slack team, for getting help/advice from me and other students.
Bonus videos I put elsewhere like YouTube, linked to from this course's resources.
Join me on weekly DevOps Live streams and demos on YouTube Live.
Tons of reference links to supplement this content.
Updates to content as Docker changes their features on these topics.
Who this course is for:
Software developers, sysadmins, IT pros, and operators at any skill level.
Anyone who makes, deploys, or operates software on servers.

What you'll learn

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.

Requirements

  • You will need a copy of Adobe XD 2019 or above. A free trial can be downloaded from Adobe.
  • No previous design experience is needed.
  • No previous Adobe XD skills are needed.

Course Content

27 sections • 95 lectures
Expand All Sections
1-Quick Start!
3
1.1-What is Docker in 2023? The Three Innovations
1.2-Quick Container Run
1.3-Why Docker? Why Now in 2023?
2-Course Introduction
5
2.1-Course Roadmap (overview)
2.2-Getting Course Resources (GitHub Repo)
2.3-Course Chat with Students Learning Containers
2.4-YouTube Live Q&A with Bret
2.5-The Big FAQ
3-The Best Way to Setup Docker for Your OS
8
3.1-Installing The Right Docker for this course
3.2-Installing Docker: The Fast Way
3.3-Docker for Windows: Setup and Tips
3.4-Docker for Mac: Setup and Tips
3.5-Docker for Linux Desktop: Setup and Tips
3.6-Docker for Linux Server: Setup and Tips
3.7-VS Code for DevOps, Docker, and YAML Editing
3.8-Docker Version and Products Changes
4-Creating and Using Containers Like a Boss
21
4.1-Check Our Docker Install and Config
4.2-Starting a Nginx Web Server
4.3-Debrief: What Happens When We Run a Container
4.4-Container VS. VM: It's Just a Process
4.5-Windows Containers: Should You Consider Them?
4.6-Assignment: Manage Multiple Containers
4.7-Assignment Answers: Manage Multiple Containers
4.8-Container Commands
4.9-What's Going On In Containers: CLI Process Monitoring
4.10-Use MariaDB rather than MySQL
4.11-Getting a Shell Inside Containers: No Need for SSH
4.12-Docker Networks: Concepts for Private and Public Comms in Containers
4.13-FIXME: Change In Official Nginx Image Removes Ping
4.14-Docker Networks: CLI Management of Virtual Networks
4.15-Docker Networks: DNS and How Containers Find Each Other
4.16-More Container Commands
4.17-Assignment: Using Containers for CLI Testing
4.18-Assignment Answers: Using Containers for CLI Testing
4.19-Changes To Upcoming Assignment
4.20-Assignment: DNS Round Robin Test
4.21-Assignment Answers: DNS Round Robin Test
5-Container Images, Where To Find Them and How To Build Them
11
5.1-What's In An Image (and What Isn't)
5.2-The Mighty Hub: Using Docker Hub Registry Images
5.3-Images and Their Layers: Discover the Image Cache
5.4-Image Tagging and Pushing to Docker Hub
5.5-Building Images: The Dockerfile Basics
5.6-Building Images: Running Docker Builds
5.7-Building Images: Extending Official Images
5.8-Images
5.9-Assignment: Build Your Own Dockerfile and Run Containers From It
5.10-Assignment Answers: Build Your Own Dockerfile and Run Containers From It
5.11-Using Prune to Keep Your Docker System Clean (YouTube)
6-Persistent Data: Volumes, Volumes, Volumes
13
6.1-Container Lifetime & Persistent Data
6.2-Persistent Data: Data Volumes
6.3-Shell Differences for Path Expansion
6.4-Persistent Data: Bind Mounting
6.5-Persistent Data
6.6-Database Passwords in Containers
6.7-Updated Postgres Version for Next Video Assignment
6.8-Assignment: Database Upgrades with Named Volumes
6.9-Assignment Answers: Update for Recent Postgres Changes
6.10-Assignment Answers: Database Upgrades with Named Volumes
6.11-File Permissions Across Multiple Containers
6.12-Assignment: Edit Code Running In Containers With Bind Mounts
6.13-Assignment Answers: Edit Code Running In Containers With Bind Mounts
7-Making It Easier with Docker Compose: The Multi-Container Tool
12
7.1-Docker Compose and The docker-compose.yml File
7.2-Compose V2
7.3-Trying Out Basic Compose Commands
7.4-Version Dependencies in Multi-Tier Apps
7.5-Compose Assignments
7.6-Compose-Assignment-1: Build a Compose File For a Multi-Container Project
7.7-Compose-Assignment-1 Answers: Build a Compose File For a Multi-Container Project
7.8-Adding Image Building to Compose Files
7.9-Using MariaDB rather than PostgreSQL
7.10-Compose-Assignment-2: Compose For Image Building
7.11-Compose-Assignment-2 Answers: Compose For Image Building
7.12-Docker Compose
8-Swarm Intro and Creating a 3-Node Swarm Cluster
6
8.1-Swarm Mode: Built-In Orchestration
8.2-Create Your First Service and Scale It Locally
8.3-UI Change For Service Create/Update
8.4-Use Multipass to create Docker, Swarm, and K8s VMs
8.5-Creating a 3-Node Swarm Cluster
8.6-Swarm Mode Basics
9-Swarm Basic Features and How to Use Them In Your Workflow
12
9.1-Sections Requirements for Swarm, Drupal, and Postgres
9.2-Scaling Out with Overlay Networking
9.3-Scaling Out with Routing Mesh
9.4-Docker Swarm Networking
9.5-Assignment: Create A Multi-Service Multi-Node Web App
9.6-Assignment Answers: Create A Multi-Service Multi-Node Web App
9.7-Swarm Stacks and Production Grade Compose
9.8-Secrets Storage for Swarm: Protecting Your Environment Variables
9.9-Using Secrets in Swarm Services
9.10-Using Secrets with Swarm Stacks
9.11-Assignment: Create A Stack with Secrets and Deploy
9.12-Assignment Answers: Create A Stack with Secrets and Deploy
10-Swarm App Lifecycle
6
10.1-Using Secrets With Local Docker Compose
10.2-Full App Lifecycle: Dev, Build and Deploy With a Single Compose Design
10.3-Service Updates: Changing Things In Flight
10.4-Healthchecks in Dockerfiles
10.5-Swarm App Lifecycle
10.6-Info on Swarm Mastery
11-Container Registries: Image Storage and Distribution
7
11.1-Docker Hub: Digging Deeper
11.2-Understanding Docker Registry
11.3-Run a Private Docker Registry
11.4-Assignment: Secure Docker Registry With TLS and Authentication
11.5-Using Docker Registry With Swarm
11.6-Third Party Image Registries
11.7-Container Registries
12-Docker in Production
3
12.1-My DockerCon Talk on Docker and Swarm in Production
12.2-The Future of Swarm
12.3-Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017)
13-The What and Why of Kubernetes
5
13.1-Kubernetes Intro
13.2-What Is Kubernetes
13.3-Why Kubernetes
13.4-Kubernetes vs Swarm
13.5-The What and Why of Kubernetes
14-Kubernetes Architecture and Install
5
14.1-Section Intro
14.2-Kubernetes Architecture Terminology
14.3-Kubernetes Local Install
14.4-Kubernetes Container Abstractions
14.5-Kubernetes Architecture and Install
15-Your First Pods
7
15.1-Kubectl run, create, and apply
15.2-Your First Pod With kubectl run
15.3-Cheat Sheets for Kubectl
15.4-Your First Deployment With kubectl create
15.5-Scaling ReplicaSets
15.6-1.18 Changes to Kubectl Run
15.7-Your First Pods
16-Inspecting Kubernetes Resources
6
16.1-Section Intro
16.2-Inspecting Resources with Get
16.3-Inspecting Resources with Describe
16.4-Watching Resources
16.5-Container Logs in Kubernetes
16.6-Inspecting Kubernetes Resources
17-Exposing Kubernetes Ports
7
17.1-Section Intro
17.2-Service Types
17.3-MicroK8s and DNS for Services
17.4-Creating a ClusterIP Service
17.5-Running Netshoot in Kubernetes
17.6-Creating a NodePort and LoadBalancer Service
17.7-Kubernetes Services DNS
18-Kubernetes Management Techniques
4
18.1-Section Intro
18.2-YAML Generators in kubectl Commands
18.3-Imperative vs. Declarative
18.4-Three Management Approaches
19-Moving to Declarative Kubernetes YAML
8
19.1-Section Intro
19.2-Kubectl apply
19.3-Kubernetes Configuration YAML
19.4-Building Your YAML Files
19.5-Building Your YAML Spec
19.6-Dry Run CLI Changes
19.7-Dry Runs and Diff's
19.8-Labels and Label Selectors
20-Your Next Steps and The Future of Kubernetes
8
20.1-Section Intro
20.2-Storage in Kubernetes
20.3-Ingress
20.4-CRD's and The Operator Pattern
20.5-Higher Deployment Abstractions
20.6-Kubernetes Dashboard
20.7-Namespaces and Context
20.8-Future of Kubernetes
21-Automated CI Workflows
6
21.1-Section Intro: Automation
21.2-The Pull Request
21.3-Automation is the Glue of DevOps
21.4-Basic PR Workflow
21.5-Intermediate PR Workflow
21.6-Advanced PR Workflow
22-GitHub Actions Workflow Examples
13
22.1-Section Intro
22.2-Assignments for this Section
22.3-Add Basic Docker Build
22.4-Add BuildKit Cache
22.5-Add Multi-Platform Builds
22.6-Add Metadata and Dynamic Tags
22.7-Add GitHub Comments
22.8-Add CVE Scanning of Images
22.9-Add CVE Scan Blocking
22.10-Add Unit & Integration Testing
22.11-Add Kubernetes Smoke Test
22.12-Bonus: Add Job Parallelization to GHA
22.13-Implement These Automations
23-Docker Security Good Defaults and Tools
12
23.1-Section Intro: Top 10 Security Steps for Docker
23.2-Docker Cgroups and Namespaces
23.3-Docker Engine's Out-Of-The-Box Security Features
23.4-Docker Bench, The Host Configuration Scanner
23.5-Using USER in Dockerfiles to Avoid Running as Root
23.6-Docker User Namespaces for Extra Host Security
23.7-Code Repo and Image Scanning for CVE's
23.8-Sysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles
23.9-Docker Rootless Mode
23.10-The Security Top 10 Differences for Windows Containers
23.11-What are Distroless Images?
23.12-Are Swarm and Kubernetes Secrets Really Secure?
24-Docker 19.03 Release New Features
7
24.1-Section Intro
24.2-BuildKit and the new Docker buildx CLI
24.3-Docker Context and SSH Connections
24.4-Docker App and Image Packaging of Compose YAML
24.5-Rootless Mode in Docker Engine
24.6-Docker Desktop Enterprise
24.7-Docker Desktop Enterprise Clusters
25-DevOps and Docker Clips
20
25.1-DevOps and Docker Talk Intro
25.2-Alpine Base Images. Are They Really More Secure?
25.3-Dealing With Non-root Users In Containers and File Permissions
25.4-Apache Web Server Design. Many Sites In One Container, or Many Containers?
25.5-Docker Network IP Subnet Conflicts with Outside Networks
25.6-Raspberry Pi Development in Docker
25.7-Windows 10 Containers Get Process Isolation
25.8-Should You Move Postgres to Containers
25.9-Using Supervisor To Run Multiple Apps In A Container
25.10-Should You Use Docker Compose or Swarm For A Single Server?
25.11-Docker Environment Configs, Variables, and Entrypoints
25.12-Java and JBoss in Containers. One .war File Per Container?
25.13-TLS in Dev and Prod with Docker
25.14-Multiple Docker Images From One Git Repo
25.15-Docker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker
25.16-Docker and Swarm RBAC Options
25.17-ENTRYPOINT vs. CMD, what's the difference in Dockerfiles
25.18-How to Use External Storage in Docker
25.19-Can I Turn a VM into a Container?
25.20-Startup Order With Multi-Container Apps
26-Dockerfiles and Docker Images in 2022
2
26.1-DockerCon 2022 Talk
26.2-Node.js Rocks in Docker
27-Dockerfile and Compose File Reviews
5
27.1-Section Intro - My Reviews Of Your Dockerfiles
27.2-Real World PHP Dockerfile Review
27.3-Real World PHP, Apache, and Alpine Dockerfile Review
27.4-Real World PHP and FPM Dockerfile Review
27.5-Real World Elasticsearch Compose Stack File
28-Extra's, Common Questions, and Resources
4
28.1-Node.js Good Defaults For Docker
28.2-PHP and Docker Good Defaults Project Template
28.3-About the DCA (Docker Certificated Associate) and Kubernetes Certifications
28.4-Bonus