Docker Desktop is back and I am impressed!


Userlevel 7
Badge +22

After revisiting Minikube last week via Podman Desktop I decided to take a peak at what was going on over at Docker Desktop. 

I have to admit I was annoyed a few years ago when they made their license changes. I realize companies need to make money but it just seemed disingenuous at the time. Mind you Docker Desktop is still free from education, personal use, testing and you only need to buy a subscription if your company is over a certain number of employees or revenue. Also to be fair it is not that expensive either. You can checkout the pricing here: https://www.docker.com/pricing/?utm_source=google&utm_medium=cpc&utm_campaign=search_na_brand&utm_term=docker_desktop_license_exact&gad_source=1&gclid=EAIaIQobChMIgLiL7fHNgwMVD01HAR2qUAl-EAAYASAAEgKLe_D_BwE 

 

I am not going to sign up but just download the personal edition. I believe if you sign up you get access to more tools for development among other things. 

You can download for Windows, Linux and Mac here: https://www.docker.com/products/docker-desktop/ 

 
I am installing in windows on top of WSL2 which requires just a few clicks and the process takes off 

Installation
Completed

You must logout after completing the installation. After logging back in you will get more information on the Licensing rules:

License

It will also ask for some feedback which you can skip:

feeback

At this point it will start the Docker Engine:

 

Right away it starts you on your educational journey:

Teaching

In the General part of the settings you can choose how you want things to look:

General

We know where we want to go immediately “Kubernetes”

Kubernetes

It would seem that you can’t choose the version which could be an issue for some folks as it forces you to use v.128.2 

Off we go!

Kubernetes Cluster setup

While waiting for the cluster we can head over to resources, quite a lot of things you can configure:

Configure

Nice that you can configure which other WSL2 Distros you might want to access Docker from:

Resources

At the top menu bar it is great that you can access everything Hub, Docs, Community Forums, check your system status and use Docker Scout:

Menu

The Learning center is simply cool:

Learning Center

Then there is a well established marketplace with excellent choice extensions:

Marketplace

An extension to backup, clone and share Docker Volumes:

Volumes Backup & Share

Back to the cluster and it is now running:

 

Running

Ok so what would be the context name? 

kubectl config get-contexts

Surprise surprise it is called docker-desktop:

Context

Now time to switch over to that one and give it a try:

kubectl config use-context docker-desktop
Switched Contexts
kubectl get nodes
Cluster Node

Now to run a pod:

kubectl run nginx --image=nginx
run a pod
Running

Time to expose it as a NodePort service and see what happens:

kubectl expose pod nginx --port=80 --target-port=80 --type=NodePort
Nice

It even wok up my firewall, must be working!

Time to find the NodePort port that it was assigned:

kubectl get svc 
Port 32702

And it works!

working

Now just for fun what if I try a LoadBalancer type. I can just edit this on the fly. Normally it would be stuck in pending since I don’t have an external Loadbalancer or metallb installed:

kubectl edit svc nginx

change the type from NodePort to LoadBalancer and save

nice localhost

Well this claims on the external-ip that localhost which would mean that docker desktop is putting this out on the loopback address. I tried it and it worked as well. 

 

All in all I was very impressed with Docker Desktop. It has come a long way from a few years ago when I last used it. 


4 comments

Userlevel 7
Badge +17

I don’t remember Docker having a UI.

A little Docker horror story 😊 → I downloaded it and played around with it like 5yrs ago? One thing I wasn’t aware of, and I don’t believe they shared in their docs, was it created partitions on my drive...like...a LOT of them! My (work) MAC ended up being latent and basically coming to a screaching halt. My Director (MAC guru) looked at it and found all the partitions and was like “what in the world?!” 😄 He had to fully reimage my machine. Thankfully, I was done playing around with it, and also had all my files in external locations. But, I learned a lot!

Userlevel 7
Badge +20

This is nice as I tried to use Docker Desktop previously.  Might go through this one instead of PodMan.  Thanks for posting this Geoff.

Userlevel 7
Badge +6

I don’t remember Docker having a UI.

A little Docker horror story 😊 → I downloaded it and played around with it like 5yrs ago? One thing I wasn’t aware of, and I don’t believe they shared in their docs, was it created partitions on my drive...like...a LOT of them! My (work) MAC ended up being latent and basically coming to a screaching halt. My Director (MAC guru) looked at it and found all the partitions and was like “what in the world?!” 😄 He had to fully reimage my machine. Thankfully, I was done playing around with it, and also had all my files in external locations. But, I learned a lot!

I remember you telling me this Shane and we must be talking a decade ago? 

2013 was the first iteration of Docker Desktop. 

I think your story is poignant though in that I believe many people might have dabbled and attempted the “hello-world” 

docker run hello-world

But then had no purpose to keep exploring or there was not any focused off the shelf software to play around with, since that 2013 and before we have so many containerised images and versions of software we use on a daily basis. I joked in my previous post that even IBM DB2 can be ran from a container but so can WordPress, Microsoft SQL Server, Plex and many more. 

Userlevel 3

Another cool tool - thank you for sharing

Comment