Welcome to Waggos, the idea behind this little blog is to keep a list of handy tutorials and in the process to improve my technical writing skills; I hope this blog can help someone out there in a rush because I know it will help me shortly.
Let’s begin with the first tutorial.
The recipe
Prerequisites:
- Libvirt/KVM Virtualization
- Docker’s GPG key
- Docker deb repository
Enable Libvirt/KVM
Install libvirt and KVM packages
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
Add current user to libvirt and KVM groups
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
For other users replace $USER in the commands above with the actual usernames
Docker’s GPG key
Create the directory keyrings inside /etc/apt
sudo mkdir -p /etc/apt/keyrings
Download the actual key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Docker DEB Repository
Create docker.list file using
sudo touch /etc/apt/sources.list.d/docker.list
Paste the following content inside the docker.list
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu focal stable
Note.- focal is the code name of the distro I am using.
Refresh the packet list
sudo apt update
Optional: Install docker-ce and its dependencies
sudo apt install -y docker-ce-cli docker-scan-plugin pass qrencode tree uidmap xclip
Download and install docker-desktop
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.13.0-amd64.deb
Note.- At the time of writing the current version of docker-desktop is 4.13-0
Install the downloaded deb file
sudo dpkg -i docker-desktop-4.13.0-amd64.deb
If you didn’t install docker-ce and company, install the missing dependencies using:
sudo apt -f install
If everything turns out right, when you open Docker Desktop, you will see the following window:

Deploying the very first container
Let’s run the most complex container in the world, the infamous hello-word:
docker run hello-world

And this is how I deployed my development environment using docker-desktop. See you next time.