How to Create Docker Images in Windows without Docker Desktop using WSL2
Federico Navarrete

Federico Navarrete @fanmixco

About: 👨‍💻 Technovator, ✍️ Author and 🎤 Speaker

Location:
Luxembourg
Joined:
Jul 5, 2019

How to Create Docker Images in Windows without Docker Desktop using WSL2

Publish Date: Feb 10 '22
13 0

Most people are aware that Docker Desktop is not available anymore for Windows users for free, and this became a challenge. For a couple of months, I thought if there was an alternative for my team, and I came up with a solution using WSL2 and Ubuntu.

To get started you must complete two requirements:

1) Install Windows Subsystem for Linux 2 (it doesn't work with WSL1):

Install WSL | Microsoft Docs

2) Download Ubuntu from the Microsoft Store:

Get Ubuntu - Microsoft Store

After you have installed Ubuntu and opened it for the first time, you can check in PowerShell to see if the version is correct with this command:

wsl -l -v

And you must get something like this:

preview

If it's incorrect, you can check this tutorial and upgrade your Kernel to version 2:

Manual installation steps for older versions of WSL | Microsoft Docs

And later run this command:

wsl --set version Ubuntu 2

After everything is ready, you must run the following scripts in Ubuntu:

First part:

sudo apt-get update

Second part:

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Enter fullscreen mode Exit fullscreen mode

Third part:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo apt-get install docker-compose
Enter fullscreen mode Exit fullscreen mode

Fourth part:

Run this line to start your Docker every time you need it.

sudo dockerd

dockerd preview

And that's all! Just open a new Ubuntu window and start playing with Docker!

NOTE:

If you have any issue with the network, check the following location and edit its nameserver IP to 8.8.8.8:

sudo nano /etc/resolv.conf

network

And to prevent the file is overwritten every time, you can modify this location:

sudo nano /etc/wsl.conf

And add these lines:

[network]
generateResolvConf = false

UPDATE:

You can also call the Docker commands from WSL using: wsl docker ...

Follow me on:

Personal LinkedIn YouTube Instagram Cyber Prophets Sharing Your Stories
Personal LinkedIn YouTube Instagram RedCircle Podcast RedCircle Podcast

sponsor me

Comments 0 total

    Add comment