Learn Docker With My Newest Course

Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →

A Linux Dev Environment on Windows with WSL 2, Docker Desktop and More


In this video, we'll go over all of the tools I use on Windows and WSL 2 to create a productive development environment.

Quick Jump: Demo Video Showing Everything

It’s been a few years since I made this type of video. This is the latest set up I’m using.

We’re going to cover all the tools I use on both the Windows 10 side of things along with getting fully set up with WSL 2, including how to use it with Docker Desktop.

Everything listed below helps me in some way or another in my day to day as a developer.

All editions of Windows 10 (including Home) can use WSL 2 and Docker Desktop as long as you’re using at least Windows version 1903. Microsoft introduced WSL 2 in the 2004 update but in August 2020 they backported WSL 2 support into versions 1903 and 1909 too! The video mentions needing 2004+ because it was recorded before August 2020.

Demo Video Showing Everything

If you follow along with installing WSL 2 for the first time, one thing I left out in the video is to make sure [x] Virtual Machine Platform is checked. This comes up at 5:08 in the video.


  • 1:45 – Using the PowerToys app launcher
  • 3:22 – Using the new Microsoft Terminal
  • 4:33 – Installing and getting set up with WSL 2 using Ubuntu 20.04 LTS
  • 6:04 – Quick demo of using Docker Desktop with WSL 2
  • 9:45 – Installing Docker Desktop and configuring it for WSL 2
  • 11:28 – Viewing an updated list of all of the tools I use
  • 12:17 – Managing virtual desktops with DexPot
  • 14:24 – Using Ditto to access and search previous clipboard entries
  • 16:12 – Using AutoHotkey (AHK) for key remapping, global hotkeys and more
  • 18:25 – Configuring programs to start up when Windows boots up
  • 19:06 – Using Sizer to quickly size and position windows
  • 21:00 – Using Chrome, Google Hangouts, Zoom and the Momentum browser extension
  • 21:37 – Using HexChat to chat on IRC
  • 22:15 – Listening to music with foobar2000
  • 22:49 – Using IrfanView for viewing, resizing and cropping images
  • 23:28 – Using GnuCash for personal finance tracking and accounting
  • 23:59 – TL;DR on the video tools that I use (OBS, Camtasia and DaVinci Resolve)
  • 24:26 – Running in Production is a podcast where we talk about deploying web apps
  • 24:42 – Installing all of the tools I use on the Linux side in WSL 2
  • 25:14 – Configuring the .wslconfig file to avoid WSL 2 soaking up all of your memory
  • 26:09 – You can replicate this set up by mostly copy / pasting these commands
  • 26:27 – Using ASDF to manage versions for a few different programming languages
  • 27:05 – Maybe using Ansible, the AWS CLI v2 and Terraform
  • 27:36 – Using FZF to open files plus fuzzy search text in Vim and on the command line
  • 28:36 – Clipboard sharing between WSL 2 and Windows with VcXsrv
  • 30:19 – Using htop to monitor your system’s resource usage and get a list of processes
  • 30:52 – Using the pass CLI tool to manage passwords and other sensitive data
  • 31:52 – High level overview of how you could use my dotfiles
  • 32:27 – Ensuring you have a few WSL specific lines in your bash, zsh, or fish config
  • 33:36 – Final verdict? I’m really happy with this set up

Courses and Podcast References

What are your favorite tools on Windows 10 and WSL 2? Let me know below!

Never Miss a Tip, Trick or Tutorial

Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.