Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, Swarm and Registry using DevOps
Information
Created by : Bret Fisher, Docker Captain Program
Rating: 4.6 out of 5 (52,978 ratings)
Student : 258,985
Last updated :Last updated 1/2022
Language : English
SubTitle : English, French, German, Indonesian, Italian, Polish, Portuguese, Spanish
Course Includes
- 30-Day Money-Back Guarantee
- 19 hours on-demand video
- 27 articles
- 34 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of completion
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 weekly live Q&A.
- Gain the skills to build development environments with your code running in containers.
- Build Swarm and Kubernetes clusters for server deployments!
- 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.
Course Content
22 sections • 176 lectures • 19h 36m 19s total length
- Course Introduction and Docker Intro (6 lectures) (20:29)
- Course Roadmap (overview) (03:44)
- Why Docker? Why Now? (10:54)
- Getting Course Resources (GitHub Repo) (00:34)
- Course Chat with Students Learning Containers (00:46)
- YouTube Live Q&A with Bret (00:20)
- The Big FAQ (04:10)
- The Best Way to Setup Docker for Your OS (10 lectures) (01:27:02)
- Docker Editions: Which Do I Use? (06:47)
- Installing Docker: The Fast Way (01:57)
- Windows Docker Options (08:08)
- Docker for Windows 10 Pro/Ent: Setup and Tips (09:19)
- Docker for Mac Setup and Tips (23:02)
- Docker Toolbox for Win7, 8, and 10 Home: Setup and Tips (13:29)
- Docker for Linux Setup and Tips (21:42)
- Quiz on Proper Docker Install (3 questions)
- Code or Text Editor for Docker and Compose files (00:12)
- Terminal Shell and Tab Completion for Docker CLI (01:16)
- Docker Version Format Change (01:09)
- Creating and Using Containers Like a Boss (18 lectures) (01:28:33)
- Check Our Docker Install and Config (06:40)
- Starting a Nginx Web Server (08:58)
- Debrief: What Happens When We Run a Container (02:29)
- Container VS. VM: It’s Just a Process (04:12)
- Windows Containers: Docker Is No Longer Just Linux (01:05)
- Assignment: Manage Multiple Containers (03:34)
- Assignment Answers: Manage Multiple Containers (05:41)
- Container Quiz 1 (4 questions)
- What’s Going On In Containers: CLI Process Monitoring (04:56)
- Getting a Shell Inside Containers: No Need for SSH (10:45)
- Docker Networks: Concepts for Private and Public Comms in Containers (11:36)
- FIXME: Change In Official Nginx Image Removes Ping (00:30)
- Docker Networks: CLI Management of Virtual Networks (07:58)
- Docker Networks: DNS and How Containers Find Each Other (05:41)
- Container Quiz 2 (3 questions)
- Assignment: Using Containers for CLI Testing (02:30)
- Assignment Answers: Using Containers for CLI Testing (02:50)
- FIXME: Bug in alpine affects nslookup (00:19)
- Assignment: DNS Round Robin Test (05:10)
- Assignment Answers: DNS Round Robin Test (03:39)
- Container Images, Where To Find Them and How To Build Them (10 lectures) (01:06:53)
- What’s In An Image (and What Isn’t) (02:04)
- The Mighty Hub: Using Docker Hub Registry Images (11:44)
- Images and Their Layers: Discover the Image Cache (12:41)
- Image Tagging and Pushing to Docker Hub (12:22)
- Building Images: The Dockerfile Basics (06:34)
- Building Images: Running Docker Builds (03:36)
- Building Images: Extending Official Images (05:19)
- Image Quiz (3 questions)
- Assignment: Build Your Own Dockerfile and Run Containers From It (04:00)
- Assignment Answers: Build Your Own Dockerfile and Run Containers From It (08:03)
- Using Prune to Keep Your Docker System Clean (YouTube) (00:30)
- Container Lifetime & Persistent Data: Volumes, Volumes, Volumes (9 lectures) (36:21)
- Container Lifetime & Persistent Data (04:13)
- Persistent Data: Data Volumes (08:47)
- Shell Differences for Path Expansion (00:38)
- Persistent Data: Bind Mounting (07:03)
- Quiz on Persistent Data (3 questions)
- Assignment: Database Upgrades with Named Volumes (03:34)
- Assignment Answers: Database Upgrades with Named Volumes (03:36)
- Assignment: Edit Code Running In Containers With Bind Mounts (04:12)
- Assignment Answers: Edit Code Running In Containers With Bind Mounts (02:47)
- Database Passwords in Containers (01:31)
- Making It Easier with Docker Compose: The Multi-Container Tool (7 lectures) (55:32)
- Docker Compose and The docker-compose.yml File (10:29)
- Trying Out Basic Compose Commands (08:34)
- Assignment: Build a Compose File For a Multi-Container Service (02:59)
- Assignment Answers: Build a Compose File For a Multi-Container Service (09:36)
- Adding Image Building to Compose Files (09:20)
- Assignment: Compose For Run-Time Image Building and Multi-Container Development (03:06)
- Assignment Answers: Compose For Run-Time Image Building and Multi-Container Dev (11:28)
- Quiz on Docker Compose (6 questions)
- Swarm Intro and Creating a 3-Node Swarm Cluster (5 lectures) (37:40)
- Swarm Mode: Built-In Orchestration (08:57)
- Create Your First Service and Scale It Locally (12:16)
- UI Change For Service Create/Update (01:00)
- Use Multipass to create Docker, Swarm, and K8s VMs (00:50)
- Creating a 3-Node Swarm Cluster (14:37)
- Quiz on Swarm Mode Basics (3 questions)
- Swarm Basic Features and How to Use Them In Your Workflow (10 lectures) (01:09:34)
- Scaling Out with Overlay Networking (06:42)
- Scaling Out with Routing Mesh (08:54)
- Quiz on Docker Swarm Basics (4 questions)
- Assignment: Create A Multi-Service Multi-Node Web App (06:25)
- Assignment Answers: Create A Multi-Service Multi-Node Web App (10:43)
- Swarm Stacks and Production Grade Compose (14:19)
- Secrets Storage for Swarm: Protecting Your Environment Variables (05:07)
- Using Secrets in Swarm Services (06:56)
- Using Secrets with Swarm Stacks (03:51)
- Assignment: Create A Stack with Secrets and Deploy (02:09)
- Assignment Answers: Create A Stack with Secrets and Deploy (04:28)
- Swarm App Lifecycle (5 lectures) (36:45)
- Using Secrets With Local Docker Compose (02:55)
- Full App Lifecycle: Dev, Build and Deploy With a Single Compose Design (10:10)
- Service Updates: Changing Things In Flight (09:29)
- Healthchecks in Dockerfiles (13:29)
- Quiz on Swarm App Lifecycle (3 questions)
- Info on Swarm Mastery (00:42)
- Container Registries: Image Storage and Distribution (6 lectures) (29:30)
- Docker Hub: Digging Deeper (07:44)
- Understanding Docker Registry (03:43)
- Run a Private Docker Registry (07:16)
- Assignment: Secure Docker Registry With TLS and Authentication (00:46)
- Using Docker Registry With Swarm (09:29)
- Third Party Image Registries (00:31)
- Quiz on Container Registries (3 questions)
- Docker in Production (3 lectures) (45:56)
- My DockerCon Talk on Docker and Swarm in Production (45:14)
- The Future of Swarm (00:19)
- Swarm Raft Quorum and Recovery (Laura Frank from DockerCon 2017) (00:23)
- The What and Why of Kubernetes (4 lectures) (21:58)
- Kubernetes Intro (00:38)
- What Is Kubernetes (03:39)
- Why Kubernetes (07:23)
- Kubernetes vs Swarm (10:18)
- Kubernetes Install And Your First Pods (10 lectures) (46:52)
- Section Intro (00:36)
- Kubernetes Architecture Terminology (08:51)
- Kubernetes Local Install (07:51)
- Install Tips for minikube and MicroK8s (01:09)
- Kubernetes Container Abstractions (03:38)
- Kubectl run, create, and apply (03:04)
- Our First Pod With kubectl run (07:46)
- 1.18 Changes to Kubectl Run (00:57)
- Scaling ReplicaSets (04:51)
- Inspecting Kubernetes Objects (08:09)
- Exposing Kubernetes Ports (5 lectures) (28:40)
- Section Intro (00:35)
- Service Types (06:52)
- Creating a ClusterIP Service (07:53)
- Creating a NodePort and LoadBalancer Service (08:39)
- Kubernetes Services DNS (04:41)
- Kubernetes Management Techniques (5 lectures) (29:11)
- Section Intro (00:49)
- Run, Expose, and Create Generators (08:25)
- The Future of Kubectl Run (06:38)
- Imperative vs. Declarative (07:20)
- Three Management Approaches (05:59)
- Moving to Declarative Kubernetes YAML (7 lectures) (40:27)
- Section Intro (00:58)
- Kubectl apply (04:13)
- Kubernetes Configuration YAML (06:12)
- Building Your YAML Files (07:12)
- Building Your YAML Spec (08:38)
- Dry Runs and Diff’s (05:21)
- Labels and Label Selectors (07:53)
- Your Next Steps and The Future of Kubernetes (8 lectures) (43:18)
- Section Intro (01:08)
- Storage in Kubernetes (06:07)
- Ingress (04:19)
- CRD’s and The Operator Pattern (03:30)
- Higher Deployment Abstractions (10:06)
- Kubernetes Dashboard (03:27)
- Namespaces and Context (05:22)
- Future of Kubernetes (09:19)
- Docker Security Good Defaults and Tools (12 lectures) (52:13)
- Section Intro: Top 10 Security Steps for Docker (01:12)
- Docker Cgroups and Namespaces (04:24)
- Docker Engine’s Out-Of-The-Box Security Features (04:36)
- Docker Bench, The Host Configuration Scanner (02:24)
- Using USER in Dockerfiles to Avoid Running as Root (07:44)
- Docker User Namespaces for Extra Host Security (04:12)
- Code Repo and Image Scanning for CVE’s (09:14)
- Sysdig Falco, Content Trust, and Custom Seccomp and AppArmor Profiles (04:49)
- Docker Rootless Mode (02:24)
- The Security Top 10 Differences for Windows Containers (02:16)
- What are Distroless Images? (05:20)
- Are Swarm and Kubernetes Secrets Really Secure? (03:38)
- Docker 19.03 Release New Features (7 lectures) (02:32:38)
- Section Intro (00:15)
- BuildKit and the new Docker buildx CLI (23:27)
- Docker Context and SSH Connections (28:43)
- Docker App and Image Packaging of Compose YAML (34:52)
- Rootless Mode in Docker Engine (26:05)
- Docker Desktop Enterprise (20:35)
- Docker Desktop Enterprise Clusters (18:41)
- DevOps and Docker Clips (20 lectures) (02:21:53)
- DevOps and Docker Talk Intro (01:15)
- Alpine Base Images. Are They Really More Secure? (19:49)
- Dealing With Non-root Users In Containers and File Permissions (07:14)
- Apache Web Server Design. Many Sites In One Container, or Many Containers? (03:35)
- Docker Network IP Subnet Conflicts with Outside Networks (05:21)
- Raspberry Pi Development in Docker (03:21)
- Windows 10 Containers Get Process Isolation (06:52)
- Should You Move Postgres to Containers (06:30)
- Using Supervisor To Run Multiple Apps In A Container (04:09)
- Should You Use Docker Compose or Swarm For A Single Server? (01:19)
- Docker Environment Configs, Variables, and Entrypoints (22:00)
- Java and JBoss in Containers. One .war File Per Container? (05:21)
- TLS in Dev and Prod with Docker (03:11)
- Multiple Docker Images From One Git Repo (02:45)
- Docker + ARM, Using Raspberry Pi or AWS A1 Instances with Docker (24:11)
- Docker and Swarm RBAC Options (01:40)
- ENTRYPOINT vs. CMD, what’s the difference in Dockerfiles (10:11)
- How to Use External Storage in Docker (04:04)
- Can I Turn a VM into a Container? (05:13)
- Startup Order With Multi-Container Apps (03:52)
- Dockerfile and Compose File Reviews (5 lectures) (42:05)
- Section Intro – My Reviews Of Your Dockerfiles (00:51)
- Real World PHP Dockerfile Review (18:28)
- Real World PHP, Apache, and Alpine Dockerfile Review (03:09)
- Real World PHP and FPM Dockerfile Review (09:04)
- Real World Elasticsearch Compose Stack File (10:33)
- Extra’s, Common Questions, and Resources (4 lectures) (02:44)
- Node.js Good Defaults For Docker (00:27)
- PHP and Docker Good Defaults Project Template (00:26)
- About the DCA (Docker Certificated Associate) and Kubernetes Certifications (00:35)
- Bonus (01:14)
Requirements
- No paid software required – Just install your favorite text editor and browser!
- Local admin access to install Docker for Mac/Windows/Linux.
- Understand terminal or command prompt basics.
- Linux basics like shells, SSH, and package managers. (tips included to help newcomers!)
- Know the basics of creating a server in the cloud (on any provider). (tips included to help newcomers!)
- Understand the basics of web and database servers. (how they typically communicate, IP’s, ports, etc.)
- Have a GitHub and Docker Hub account.
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.