Getting Started with Docker on Windows
Docker is an extraordinarily powerful, cross-discipline tool. This course will teach you how to run both Windows and Linux Containers on a single Windows machine!
What you'll learn
Finding, downloading, vetting, installing, configuring and ultimately using software has traditionally been difficult and time consuming. In this course, Getting Started with Docker on Windows, you’ll learn to pull images and run just about any app in a container. First, you’ll explore Docker on a Windows host to run Linux containers. Next, you’ll discover Windows Containers. Finally, you’ll learn how to build images to run custom Windows and Linux Containers, from a Windows host! When you’re finished with this course, you’ll have the skills needed to use Docker on Windows to run just about any app in a container, in seconds!
Table of contents
- Running Both Apache and NGINX in Seconds 6m
- You Can Run Both Linux and Windows Containers! 4m
- Update Windows, Check OS Build Required 3m
- Checking CPU Virtualization Requirements 4m
- Installing Docker Desktop 5m
- Starting Docker and Fixing a WSL2 Issue 5m
- Circling Back to WSL --status 2m
- Testing the Docker CLI with docker version 2m
- The Docker Engine API 4m
- Troubleshooting Common Docker Desktop Startup Problems 3m
- Bookmark These Troubleshooting Docs 2m
- Using winget to Install Docker Desktop for Windows 4m
- After winget Install, Updating the WSL2 Backend 4m
- First, Let's Run NGINX 2m
- Then Jenkins! 3m
- Then TeamCity - Inverted Learning! 3m
- Considerations When Using Software 3m
- Compare - Manually Installing the dotnet CLI 3m
- Compare - VM Checkpoints Avert the Novelty of Uninstallation 2m
- Compare - Installing dotnet via winget 4m
- Compare - dotnet CLI via Docker 3m
- Changing dotnet Versions Is as Easy as Changing a Tag! 2m
- Containers Are Isolated Linux Environments! 5m
- Docker Brings Consistency and Expertise to Environments 6m
- Docker Provides Environments with Software Pre-installed 3m
- Level up Your CLI Tools for Docker 2m
- Windows Terminal Is Perfect for Docker! 7m
- Edit Windows Terminal Settings with VSCode 3m
- Windows Terminal Workaround - Path Changes 2m
- Terminal Preview and PowerShell Preview's Dynamic Profile 2m
- App Execution Aliases to Map wt.exe to the Terminal Preview 2m
- Customizing Terminal Profiles in VSCode 6m
- Dynamic Terminal Profiles for Your Docker WSL Distro 6m
- Enabling Docker's WSL Integration 2m
- Test Drive the docker CLI within WSL 3m
- Bash DOCKER_HIDE_LEGACY_COMMANDS 2m
- Ensure Your Default WSL Distro Isn't Docker's 1m
- Observing Differences between Container File Systems 7m
- Observing Different Startup Behavior 3m
- Images Provide Default Runtime Configuration 4m
- Mount Namespace Isolation 1m
- Updating Docker Desktop 2m
- Sign in to Docker Desktop with Your Docker ID 3m
- Switching to Windows Containers via the Tray Icon 3m
- Recommendation: Set Docker Tray Icon to Always Visible 1m
- Enable Windows Optional Features: Containers and Hyper-V 1m
- 2nd Time's the Charm: Switching to Windows Containers 2m
- Finding an IIS Windows Container Image 2m
- Registry Terminology and MCR Syndication 5m
- Running IIS in a Windows Container! 4m
- Stopping Our IIS Container and Restarting It 2m
- Just Seconds to Launch Another IIS Instance! 2m
- Custom Table and JSON Output: docker container ls --format 3m
- Persisting Custom Formats in ~\.docker\config.json 3m
- Removing a Container Is Akin to Uninstalling Software 3m
- Global Cleanup with docker system df 2m
- Building Your Own Reusable Filesystems 2m
- Don't Start with a Dockerfile 3m
- Modifying Our Container to Serve a Custom Page 5m
- docker container commit to Create an Image! 2m
- Creating Another Container to Test Our Committed Image 2m
- Step 1 - Coalesce Manual Commands 2m
- Step 2 - Finding a High Level Pattern 4m
- The Intermediate Containers Are Disposable Means 5m
- Step 3 - Building an Image with a Script! 3m
- Step 4 - Automating Image Behavior Tests 2m
- Distilling the Minimum Needed to Describe Creating an Image 3m
- Building an Image from a Dockerfile 2m
- Saving Images to Tar Archives to Verify Our Dockerfile Build 3m
- Each Layer Contains a Heirarchy of Files 2m
- Dockerfiles Are Syntactic Sugar 3m
- Use VSCode's Remote-WSL Extension 4m
- Using RUN, ENV, and ENTRYPOINT Instructions 4m
- docker build Shows Timing and Container Logs 1m
- Run CLI Tools from Containers! 1m
- Builds Are Aggressively, Efficiently Cached 3m
- Run Instructions with Line Continuations and Heredocs 2m
- Layers Are Immutable - Design Them Carefully 2m
- Bookmark Microsoft's Virtualization Docs & Repo 5m
- DockerCli.exe -SwitchDaemon 3m
- Productivity with PowerShell Docker Completions! 3m
- Menu Completion Is a Must in PowerShell 3m
- Windows Base Image Variables 1m
- PID Namespaces 5m
- Overlapping Isolation Leads to Containers 3m
- Exploring Timezone Isolation in Windows Containers 3m
- Windows Image to Determine Default Timezone Behavior 3m
- Containers Inherit the Container Host's TimeZone 2m
- Image Builds to Automate Testing Timezone Isolation 2m
- Baking Timezones into Images 3m
- Virtualized Hostname, Filesystem and Networking! 4m
- What Can We Observe Outside of the Container? 1m
- Understanding Multi-stage Builds with a .NET Web API Example 4m
- Running and Analyzing Our Multi-stage Build 5m
- Finding Hyper-V Containers with hcsdiag 3m
- What Is a Hyper-V Container? 2m
- Switching to Process Isolation 2m
- Using Manifests to Explicitly Target a Windows Version 4m
- Process Isolation Works! 2m
- Host Can See Processes Inside Windows Server Containers! 2m
- Pulling an Image with MSSQL Linux 2019 4m
- Running SQL Server 2019 in a Linux Container! 1m
- Installing SSMS to Test the MSSQL Instance 2m
- Creating a Database, Table and Row with SSMS 2m
- Understanding docker container exec 4m
- docker container exec into Our MSSQL Container 5m
- Using the Linux FHS - Why Is sqlcmd in /opt? 3m
- Modifying Data with sqlcmd in the MSSQL Container 4m
- Describing 3 Database and 1 Web Containers in a Compose File 1m
- docker compose up - Zero to MySQL + PostgreSQL in < 1 Minute! 2m
- docker compose down - Nuking Our Database Playground 1m