# it's typed on Powershell
wsl --install Debian --name debian --web-download --location "D:\WSL\debian" --no-launch
wsl -d debianEnter new username and password
# now it's inside WSL2 bash
echo cd ~ >> ~/.bashrc && source ~/.bashrc
sudo nano /etc/wsl.conf[boot]
systemd=true
[automount]
enabled=false
[interop]
appendWindowsPath=false
[user]
default=wsluser
Ctrl + X to exit, press Y to save
sudo nano /etc/resolv.conf
# kantor
# nameserver 192.168.201.10 8.8.8.8
# rumah
nameserver 8.8.8.8 8.8.4.4
Ctrl + X to exit, press Y to save
mkdir -p ~/dockerstuff
sudo nano /etc/fstab
D:\\WSL\\_docker /home/wsluser/dockerstuff drvfs rw,uid=1000,gid=1000,metadata 0 0
Ctrl + X to exit, press Y to save
Ctrl + D to logout from WSL2
# it's typed on Powershell
wsl --terminate debian
wsl -d debian# now it's inside WSL2 bash
cd ~/dockerstuff
mkdir -p vol
mkdir -p compose
mkdir -p images
mkdir -p build
cd ~sudo apt update && sudo apt upgrade
sudo apt install -y ca-certificates curl gnupg uidmap
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& sudo chmod a+r /etc/apt/keyrings/docker.gpg# Add the Docker repository to Apt sources
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Add the NVIDIA GPG key and repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/nullsudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin \
nvidia-container-toolkit
dockerd-rootless-setuptool.sh install
source ~/.bashrc
sudo loginctl enable-linger $USER
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
# specific WSL2 Fix for Nvidia Container Toolkit
sudo sed -i 's/#no-cgroups = false/no-cgroups = true/' /etc/nvidia-container-runtime/config.toml
systemctl --user restart dockerCtrl + D to logout from WSL2
# it's typed on Powershell
wsl --terminate debian
wsl --export debian D:\WSL\_backup\debian-docker-labs.tar
wsl -d debian# now it's inside WSL2 bash
sudo apt update && sudo apt upgrade
sudo apt install -y build-essential cmake clang# Testing the docker container with Nvidia GPU capabilities enabled
docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu24.04 nvidia-smi