Last year we announced that Docker had released a preview of Docker Desktop with WSL 2 integration. We are now pleased to announce that we have completed the work to enable experimental support for Windows Home WSL 2 integration. This means that Windows Insider users on 19040 or higher can now install and use Docker Desktop!
Feedback on this first version of Docker Desktop for Windows Home is welcomed! To get started, you will need to be on Windows Insider Preview build 19040 or higher and install the Docker Desktop Edge 2.2.2.0.
What’s in Docker Desktop for Windows Home?
Docker Desktop for WSL 2 Windows Home is a full version of Docker Desktop for Linux container development. It comes with the same feature set as our existing Docker Desktop WSL 2 backend. This gives you:
- Latest version of Docker on your Windows machine
- Install Kubernetes in one click on Windows Home
- Integrated UI to view/manage your running containers
- Start Docker Desktop in <5 seconds
- Use Linux Workspaces
- Dynamic resource/memory allocation
- Networking stack, support for http proxy settings, and trusted CA synchronization
How do I get started developing with Docker Desktop?
For the best experience of developing with Docker and WSL 2, we suggest having your code inside a Linux distribution. This improves the file system performance and thanks to products like VSCode mean you can still do all of your work inside the Windows UI and in an IDE you know and love.
Docker for Windows is a product offered by Docker that allows users to set up a Docker container on a client-based operating system (Windows 10). Containers are all the rage these days, and Docker is king of the containers. Oct 21, 2019 If you’ve ever tried to install Docker for Windows, you’ve probably came to realize that the installer won’t run on Windows 10 Home.Only Windows Pro, Enterprise or Education support Docker.
Firstly make sure you are on the Windows insider program, are on 19040 and have installed Docker Desktop Edge.
Step 4 – Run Docker. Once the system restarts, run Docker by double clicking the icon created on the desktop or from start menu. You will see a docker icon appear on your windows task bar. What we'll end up with at the end of this document is the Docker client running on Linux (WSL) sending commands to your Docker Engine daemon installed on Windows. So, open you Ubuntu bash console.
Next install a WSL distribution of Linux (for this example I will assume something like Ubuntu from the Microsoft store).
You may want to check your distro is set to V2, to check in powershell run
wsl -l -v
If you see your distro is a version one you will need to run
wsl ‐‐set-version DistroName 2
Once you have a V2 WSL distro, Docker Desktop will automatically set this up with Docker.
The next step is to start working with your code inside this Ubuntu distro and ideally with your IDE still in Windows. In VSCode this is pretty straightforward.
You will want to open up VSCode and install the Remote WSL extension, this will allow you to work with a remote server in the Linux distro and your IDE client still on Windows.
Now we need to get started working in VSCode remotely, the easiest way to do this is to open up your terminal and type:
Docker Windows Home Wsl
Wsl
code .
This will open a new VSCode connected remotely to your default distro which you can check in the bottom corner of the screen.
(or you can just look for Ubuntu in your start menu, open it and then run code .
)
Once in VSCode there I use the terminal in VSCode to pull my code and start working natively in Linux with Docker from my Windows Home Machine!
Other tips and tricks:
- If you want to get the best out of the file system performance avoid mounting from the windows file system (even from a WSL distro. eg:
avoid docker run -v /mnt/c/users:/users
) - If you are worried about the size of the docker-desktop-data VHDX or need to change it you can do this through the WSL tooling built into Windows:
https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes#understanding-wsl-2-uses-a-vhd-and-what-to-do-if-you-reach-its-max-size - If you are worried about CPU/Memory usage you put limits on memory/cpu/swap size on the WSL2 utility VM https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-18945
Your feedback needed!
We are excited to get your feedback on the first version of Docker Desktop for Windows Home and for you to tell us how we can make it even better.
To get started with WSL 2 Docker Desktop on Windows home today you will need to be on Windows Insider Preview build 19040 or higher and install the Docker Desktop Edge 2.2.2.0.
In this blog, I will show you how to install Docker version 19 in Windows 10. We will be using community edition (CE) as this is a free version. You can use this edition to install it on your personal computer to learn and build application around it. Knowledge of Docker is a must if you want to build Cloud Native Microservices based applications.
There are other platforms for building container based application. But over the years, Docker has become the industry standard for building container based application using Kubernetes for orchestration. As such, Docker skill is must for IT professionals.
Lets get started
Prerequisites: Docker requires Hyper-V enabled in Windows 10. Without this Docker will not run after you install Docker. To enable Hyper-V in Windows, please follow my post here
Docker Toolbox
Please note that Docker needs Hyper-V only in Windows 10. It will not work with VMware Workstation or Virtual Box. You can refer to the docker documentation
Docker consumes a lot of RAM. I can feel the performance issue after I run Docker on my 8 GB RAM Laptop. You can still work, it wont create major problems. I think, on a 16 GB RAM machine, you should not feel the performance issue.
8 GB machines works for me, so its OK.
Step 1 – Download Docker
Officially Docker installer, community edition can be downloaded from Docker Store. You will have to create an account to be able to download it. Having an account for Docker is a very good things. It allows you to download docker images in the future.
If you dont want to create an account, this is the direct link to Download Docker Installer.
You can also reach the Docker Store download page from the Docker official page. Go to the Docker Official home Page.
Click on Products-> Docker Desktop on the menu bar. This will take you to the docker desktop product page.
Docker Desktop Product Webpage
Click on Download Desktop for Mac and Windows.
The installer file for windows is around 914 MB.
Step 2 – Run the installer
Double click on the downloaded installer file to start the installation wizard. You will see Windows UAC – User Access Control asking for permission to allow the program to run. Click yes to continue.
Docker Installation – Windows User Access Control
Now you will see Docker installer downloading additional files required. If you dont have internet connection, installer will move on to the next step. Wait for the process to complete and you will see the configuration screen.
Step 3 – Configuration Settings
Docker Windows Home Install
In this dialog box you will be asked if you want to create desktop icon for Docker. I leave this checked. Second option is if you want to use Linux or Windows Container. This option can be changed later on. I leave it as default, that is unchecked.
Containers run on your host operating system which can be Linux or Windows. Ideally you can run Linux container on Linux OS and Windows container on Windows OS. This could be a problem in development machines if you want to develop Linux container based application on Windows.
To get around this, Docker allow users to create both Linux and windows container on the same windows machine without having to switch between OS platforms. To achieve this, Docker provides a Linux VM for Hyper-V called MobyLinuxVM as a part of installation process. This VM runs Linux container and your Windows 10 host runs Windows Containers. You cannot run both Windows and Linux Containers at the same time. That is why Docker allows you to switch between Windows and Linux container.
With this you can run both Linux and Windows Containers side by side as a part of the same Docker Installation for Windows.
Click OK to start the installation. Wait for the installation to complete.
Docker Installation progress
Once the installation completes, click on Close and restart to complete the installation.
Step 4 – Run Docker
Once the system restarts, run Docker by double clicking the icon created on the desktop or from start menu. You will see a docker icon appear on your windows task bar. If you hover your mouse over it, it will say “Docker is Starting”. You will see a warning asking your permission to start the docker service. Click Start to continue and wait for docker service to start.
Docker Service not running warning
Once docker service starts for the first time, you will see a welcome screen asking you to login to Docker Hub. Enter the docker hub credentials you have created and click on sign in. This is optional but it is highly recommended that you do it.
Docker Desktop welcome screen
Step 5 – Disable Start Docker at Startup
By default, docker will automatically start when you turn on/login to your computer. Since Docker requires a lot of RAM, I don’t recommend this. We can start docker manually when we want to use it.
To disable starting docker at startup, right click on the docker Icon in the task bar. Click on Settings, under General Tab, uncheck, Start Docker when you login.
Click on apply and restart to make the changes. This will restart the docker service again (I will not restart Windows, only the docker service).
Step 6 – Check the version of Docker Installed
Most of the time you will be working with command line to work with Docker. Let this be your first command to check Docker version and see what you get.
Open Powershell or command prompt and enter the command:docker version
You should see something like this.
Docker Version Check – Windows Command Line
That’s it for now.
Whats Next
You can start your Docker Journey by learning about the command you can execute in your computer terminal.
Good luck.