Running Docker Desktop on Linux Mint 20.3 on VMware Workstation Player

Michael Shoemaker
5 min readJun 20, 2022

I have taken several courses over the years which have in some way used docker-desktop. Being a Linux Mint user I felt left out as it was only available for Windows and Mac.

Finally the day has come that it is available!

Since I am on Linux Mint and on a VM there are a few “gotchas” which aren’t included in the official install instructions which are for users of other Linux Distros.

Lets jump right in. I have a fresh VM named Delta that I was using for other testing.

Go to Edit virtual machine settings

Make sure that both Virtualize Intel VT-x/EPT or AMD-V/RVI and Virtualize CPU performance counters are checked.

Save and start your VM.

Run the command below to remove any previous docker install you may have.

sudo apt-get remove docker docker-engine docker.io containerd runc -y

Install docker dependencies with:

sudo apt-get install \ 
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y

You may get an error as the snip above shows, but at least in my case, this can be safely ignored.

Add Dockers official GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Now add the docker repo so that you can find the packages you need to install docker.

NOTE, WARNING, DANGER: Here is where people can get tripped up. For Ubuntu they use the following command to add the repository:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

If you run:

echo $(lsb_release -cs)

you will see that it is “uma” for Mint we need to use “focal” You can either just write in “focal” where $(lsb_release -cs) is above or run this command which I updated to point to the correct repository for Mint:

sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo “$UBUNTU_CODENAME”) stable”

Now run an update so that it knows to search the new repo:

sudo apt-get update -y

Now install docker:

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

Add yourself to the docker group. I made this special command which adds the last logged in user to the docker group.

sudo usermod -aG docker $(last|cut -d “ “ -f 1|sed -n 1p)

A lot of tutorials say that you need to log out and log back in for the group membership to be recognized. A nice trick to side step this is to just switch to the current user with:

su - $USER

Now we can finally install Docker Desktop. Check here for the most recent release. https://docs.docker.com/desktop/linux/install/

As of the time of this writing the url for the deb package you can simply wget is:

wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.9.1-amd64.deb

It will take a few minutes to download. Once it has completed you can install the deb package with.

sudo dpkg -i docker-desktop-4.9.1-amd64.deb

Or if there’s a newer version just use that deb package

Uh oh. Another hiccup. It appears we are missing a dependency.

But notice it is nice enough to tell us exactly what we are missing. qemu-system-x86. Lets install that.

sudo apt-get install qemu-system-x86

Well dang. Now we have a bunch of errors. Notice again it is nice enough to tell us what we need to do to fix this. Let’s run what it suggests.

sudo apt --fix-broken install -y

That seemed to run okay and if all went well you should see a nice little whale graphic in the lower right hand corner.

And if we click the start button and type Docker we should now see Docker Desktop in our App List.

Lets launch it and check it out.

Accept the terms and click Accept.

And it looks like we are good. You should see Docker Desktop starting

After a minute or two you should see a screen like the one below

Notice you don’t have any images just yet if you click on images on the left side bar.

As a quick test we can open a terminal and run

docker run hello-world

Once it pulls the image we can now see that we have an image listed.

Hopefully this helped some of you out. Since this was a bit of a pain to get installed correctly I wrote this article as soon as I got it working. Now it’s time to play around and have some fun! Happy coding everyone!

--

--