Skip to content

Run Ubuntu docker in Windows 11

Overview

Summary

This guide demonstrates how to set up a self-hosted GitHub Actions runner within an Ubuntu WSL (Windows Subsystem for Linux) environment on Windows 11.

Prerequisites

  • Windows 11
  • WSL 2 installed (wsl --install)
  • Docker Desktop (optional, but recommended for container workflows)

Installation Process

The following log session details the complete installation process, from setting up the WSL environment to registering the runner.

View Full Installation Log Session
C:\Users\WJLEE>wsl -l
Windows Subsystem for Linux Distributions:
Ubuntu-24.04 (Default)
docker-desktop

C:\Users\WJLEE>wsl -d Ubuntu-24.04
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE$ mkdir actions-runner && cd actions-runner
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ curl -o actions-runner-linux-x64-2.322.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.322.0/actions-runner-linux-x64-2.322.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  113M  100  113M    0     0  11.5M      0  0:00:09  0:00:09 --:--:-- 12.5M
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ echo "b13b784808359f31bc79b08a191f5f83757852957dd8fe3dbfcc38202ccf5768  actions-runner-linux-x64-2.322.0.tar.gz" | shasum -a 256 -c
actions-runner-linux-x64-2.322.0.tar.gz: OK
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ tar xzf ./actions-runner-linux-x64-2.322.0.tar.gz


wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ ./config.sh --url https://github.com/wenchiehlee/Selenium-Actions.Auction --token ACV3XP4YIAC7ZDQSFUKTJZ3HYVWI4

--------------------------------------------------------------------------------
|        ____ _ _   _   _       _          _        _   _                      |
|       / ___(_) |_| | | |_   _| |__      / \   ___| |_(_) ___  _ __  ___      |
|      | |  _| | __| |_| | | | | '_ \    / _ \ / __| __| |/ _ \| '_ \/ __|     |
|      | |_| | | |_|  _  | |_| | |_) |  / ___ \ (__| |_| | (_) | | | \__ \     |
|       \____|_|\__|_| |_|\__,_|_.__/  /_/   \_\___|\__|_|\___/|_| |_|___/     |
|                                                                              |
|                       Self-hosted runner registration                        |
|                                                                              |
--------------------------------------------------------------------------------

# Authentication


√ Connected to GitHub

# Runner Registration

Enter the name of the runner group to add this runner to: [press Enter for Default]

Enter the name of runner: [press Enter for TAICLTb37TmOcq7]

This runner will have the following labels: 'self-hosted', 'Linux', 'X64'
Enter any additional labels (ex. label-1,label-2): [press Enter to skip] ubuntu-latest

√ Runner successfully added
√ Runner connection is good

# Runner settings

Enter name of work folder: [press Enter for _work]

√ Settings Saved.

wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ ubuntu-latest
ubuntu-latest: command not found
wjlee@TAICLTb37TmOcq7:/mnt/c/Users/WJLEE/actions-runner$ ./run.sh

√ Connected to GitHub

Current runner version: '2.322.0'
2025-03-03 07:52:30Z: Listening for Jobs
2025-03-03 07:52:36Z: Running job: sync-backup-workflow

Outcome

The runner is successfully registered and listening for jobs.