Spread the love


If you want to get started with Kubernetes on your Laptop running Windows 10, Docker Desktop for Windows CE is the quickest way. Docker Desktop is the preferred choice for millions of developers that are building containerized applications for couple of reasons. The major reasons being –

  • 1-click installation and setup of a complete Docker development environment for Windows
  • Integrated tools including the Docker command lineDocker Compose and kubectl command line
  • Ability to start/stop with a single click
  • In-built Single Node Kubernetes Cluster

Docker Desktop is an easy-to-install application for your Mac or Windows environment that enables you to start coding and containerizing in minutes. Docker Desktop includes everything you need to build, test and ship containerized applications right from your machine.

Today Docker Desktop for Windows comes in two flavour – Docker Desktop Community & Docker Desktop Enterprise. You can download these editions via the below link:

Please note that you will need license file for Docker Desktop Enterprise to be installed on your Windows Laptop. Also, you will need to remove Docker Desktop Community Edition before you go ahead and install Enterprise release.

Docker Desktop Enterprise takes Docker Desktop Community, formerly known as Docker for Windows and Docker for Mac, a step further with simplified enterprise application development and maintenance. With Docker Desktop Enterprise, IT organizations can ensure developers are working with the same version of Docker Desktop Enterprise and can easily distribute Docker Desktop Enterprise to large teams using a number of third-party endpoint management applications. With the Docker Desktop Enterprise graphical user interface (GUI), developers are no longer required to work with lower-level Docker commands and can auto-generate Docker artifacts

Installing Docker Desktop for Windows Platform

Let us started with a simple installation of Docker Desktop Community Release. Open https://hub.docker.com/editions/community/docker-ce-desktop-windows and click on “Login to Download” page to download and install Docker Desktop for Windows. Once you install Docker Desktop, you can see “whale” icon appear in the below taskbar(as shown below):

Checking Docker Version

There are two ways to verify Docker version – one through UI and other via CLI. To verify it via CLI, all you need is to run docker version to check the basic details of your deployment. You should see “Windows” listed as the operating system for the Docker client and the Docker Engine:

Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     true
  Version:          v1.10.11
  StackAPI:         v1beta2
PS C:\Users\Ajeet_Raina>

The OS/Arch field tells you the operating system and CPU architecture you’re using. Docker is cross-platform, so you can manage Windows Docker servers from a Linux client and vice-versa, using the same docker commands.

Open up Whale icon which you see in the taskbar menu and browse through “Settings”. Click on Kubernetes and select the options shown below to bring up Kubernetes cluster.

Based on your internet speed, you need to wait for single node kubernetes cluster to come up. Once the UI shows “Kubernetes is running”, you should be good to go ahead and perform the below commands.

Verify the Kubectl

PS C:\WINDOWS\system32> kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4
b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Plat
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4
b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:25:46Z", GoVersion:"go1.9.3", Compiler:"gc", Plat
PS C:\WINDOWS\system32>

Setting up Kubernetes Dashboard

Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard.

Dashboard also provides information on the state of Kubernetes resources in your cluster and on any errors that may have occurred.

Let us go ahead and test drive Kubernetes dashboard in just 2 minutes.

PS C:\Users\Ajeet_Raina> kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
deployment.apps "kubernetes-dashboard" created
service "kubernetes-dashboard" created
PS C:\Users\Ajeet_Raina>

You can access Dashboard using the kubectl command-line tool by running the following command:

PS C:\Users\Ajeet_Raina> kubectl proxy
Starting to serve on

Go to http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ on Browser and you will get the below output:

  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
  "status": "Failure",
  "message": "no endpoints available for service \"kubernetes-dashboard\"",
  "reason": "ServiceUnavailable",
  "code": 503
curl http://localhost:8001/api

  "kind": "APIVersions",
  "versions": [
  "serverAddressByClientCIDRs": [
      "clientCIDR": "",
      "serverAddress": ""
  "paths": [

Wait, where is the dashboard?

Browse to http://:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ and this shall open up kubeconfig page as shown below:

Run the below command to set token:

PS C:\Users\Ajeet_Raina\Desktop> $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]

PS C:\Users\Ajeet_Raina\Desktop> kubectl config set-credentials docker-for-desktop --token="${TOKEN}"

Click on Kubeconfig and select the “config” file under C:\Users<Username>.kube\config

That’s it. You should be able to access Kubernetes Dashboard as shown below:

You can view the nodes details under Dashboard:

Viewing the Namespace:

You can get quick view of roles by clicking on “Roles” on the left side of the UI:

Viewing the Storage Classes:

Viewing the services:

Further Readings:


Spread the love
Categories: Docker

Ajeet Raina

My name is Ajeet Singh Raina and I am an author of this blogging site. I am a Docker Captain, ARM Innovator & Docker Bangalore Community Leader. I bagged 2 special awards last year(2019): Firstly, “The Tip of Captain’s Hat Award” at Dockercon 2019, San Francisco, and secondly, “2019 Docker Community Award“. I run Collabnix Community Slack with over 5300+ audience . I have built popular GITHUB repositories like DockerLabs, KubeLabs, Kubetools, RedisPlanet Terraform etc. with the support of Collabnix Community. Currently working as Developer Relations Manager at Redis Labs where I help customers and community members adopt Redis. With over 12,000+ followers over LinkedIn & close to 5100+ twitter followers, I like sharing Docker and Kubernetes related content . You can follow me on Twitter(@ajeetsraina) & GitHub(@ajeetraina)


Mark · 19th July 2020 at 8:26 am

What is the default password for Kubernetes dashboard?

Alexander Pohl · 27th November 2020 at 5:40 pm

In the current version of Docker Desktop for Mac OS X (that is as posting this) the correct link to the Kubernetes Dashboard is http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

You can check the namespaces with curl http://localhost:8001/api/v1/namespaces

Alexander Pohl · 27th November 2020 at 6:50 pm

Also adding the secret to the config then is (in bash on Mac OS):
$ TOKEN=$(kubectl -n kubernetes-dashboard describe secret default | grep “token:” | cut -d ‘:’ -f 2 | xargs)
$ kubectl config set-credentials docker-desktop –token=”${TOKEN}”

Mark Chadwick · 23rd January 2021 at 1:39 am

Just for info out of the box this didn’t work for me – the dashboard came up with lots of errors – nothing found – clusteruser didn’t have permissions. So I ran this command below and everything came to life – great tutorial – thanks

“kubectl create clusterrolebinding kubernetes-dashboard –clusterrole=cluster-admin –serviceaccount=kube-system:kubernetes-dashboard –user=clusterUser
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created”

charlie arehart · 29th August 2021 at 2:09 am

Thanks, Ajeet, for the article. For the sake of readers using later Docker for Desktop versions, you will need to change 4 things offered in this Mar 2019 article.

Just like Alexander offered in his Nov 2020 comments (on Docker for Desktop 2.5), I found that things did not work on my Docker Desktop for Windows 3.6, which is running Docker 20.10.8.

As for Alexander’s suggestions, note that one was indeed Mac-specific, but the other 3 apply to Windows as well.

The needed changes (for Windows users) are that:
a) in the first powershell command, you should use kubernetes-dashboard instead of the kube-system that Ajeet shows,
b) in the second powershell command you should use docker-desktop instead of the docker-for-desktop that Ajeet shows, Without these two changes, the commands will “work”, but the later step to load the kubeconfig created by them will fail.
c) finally, as for the url to show the namespaces and especially the dashboard, use what Alexander offered

Ajeet, if you may get to change the article, that could be really helpful. Some readers will simply see what you offered and try it, without looking at these comments. While you’re at it, note another problem is with your URL for the dashboard: it starts http://:8001 rather than http://localhost:8001.

But again, thanks so much for the rest of the content.

charlie arehart · 29th August 2021 at 2:39 am

Oh, and I should have added that I’d also changed to the next version of the dashboard, so swapping in the kubectl apply -f this URL:
which is the latest version offered at https://github.com/kubernetes/dashboard.

2019 Year in Review: The Rise of Pico, Collabnix Slack & DockerLabs – Collabnix · 27th December 2019 at 1:55 pm

[…] Singh Raina wrote nearly 30 blogs in 2019, and the most popular was 5 Minutes to Kubernetes Dashboard running on Docker Desktop for Windows Find yourself five minutes before the end of the year to try this out yourself. […]

Leave a Reply

Your email address will not be published. Required fields are marked *