How to run Docker on Windows 10 Home edition
Recently I have been watching a tutorial where, in order to follow it, you need to have Docker running on your machine. So far, so good.
But it turns out that the latest versions of Docker require Windows 10 Pro, Enterprise, or Education. Which means that if you are like me and have just Windows 10 Home edition on your personal laptop, then you cannot use Docker…or maybe you still can.
Read on below to find out how. ?
First, let’s do a short summary of the situation. What do we want to achieve and what do we currently have?
We have Windows 10 OS Home edition on our machine. We would like to have Docker running on the same machine so that we are able to create docker images, run containers, and learn better and grow faster!
The last one is a bit out of the scope of this article, but we should start from somewhere, no? ?
After defining what we want, let’s see how to achieve it. Here are the steps I followed. It worked for me, which make me want to share it with you. And maybe I can save someone a few days of going back and forth to StackOverflow! ?
After some reading, I found this article. It explains that it is possible to use Docker in Windows 10 Home by leveraging a Linux virtual machine and having Docker containers running on it. Let’s see how it works.
Step 1: Installations
First you need to install a software called Oracle VM VirtualBox. It gives you the ability to have multiple virtual machines installed on your physical one. This way we can have a virtual machine which will be running Linux where our Docker will live.
Then use Windows PowerShall and Chocolatey, your Windows package manager, to install a docker-machine by running the following:
choco install docker-machine
Open your favorite bash terminal app and run this:
docker-machine create.-driver virtualbox default
This will create a docker virtual machine called ‘default’.
Step 2: Configurations
Next, we need to configure which ports are exposed when running Docker containers. You can do that by going to Oracle VM VirtualBox. default virtual machine. Settings. Network. Adapter 1. Port Forwarding.
This was the most critical detail that I forgot. We need to allow Docker to mount volumes located on your hard drive. By default, you can only mount from the C://Users/ directory.
In my case, I forgot about this and had to spend few days of head banging until I figured out why the heck was I getting a “Couldn’t find package.json” error when trying to run the containers, built through this tutorial.
Start the virtual machine by running the following command in your terminal app:
docker-machine start default
Step 3: Setting up Environment Variables
Next, we need to set up Docker environment variables:
docker-machine env default
This allows the Docker client and Docker Compose to communicate with the Docker Engine running in the Linux VM that we named “default”.
@FOR /f “tokens=” %i IN (‘”C:\ProgramData\chocolatey\lib\docker-machine\bin\docker-machine.exe” env’) DO @%i
in order to get Docker working properly. Note: the specified path in the above command may vary depending on your setup.
If you are going to use things such as docker-compose up. you will need to install Docker Tools as well. You may do it by running the following commands in PowerShall:
choco install docker-cli choco install docker-compose
These will install everything you need to start using Docker on your Windows 10 Home OS.
Now that we have all we need, we may spend our time on actual learning, either by following a docker-related tutorial or reading a book. No matter what you want to do next, you have all the tools you will need.
I personally will try to finish the previously mentioned tutorial and then, who knows, may be I will start using Docker for each project I do.
By the way, during the process of researching, I found a very promising book which is specifically about Docker. It’s called “Docker in Practice” by Ian Miell. If this interests you, you might want to take a look.
Docker Desktop on Windows 10 for SQL Server : Step by Step
As a DBA, do you ever wonder if there is a way to test different SQL Server versions/editions and on different OS without going through length preparations and installations? There is, and Docker provides an easy way.
This article describes how to run docker containers on Windows 10 for SQL Server 2017/ SQL Server 2019 on Linux, and SQL Server 2017 on Windows. It also covers how to share a data directory with the host for databases and how to start SQL Server Agent on containers.
Install Docker on Windows 10
Download Docker Desktop for Windows from https://www.docker.com/docker-Windows. Simply follow the instruction to install the software. Once completed, on the taskbar, we should see the docker icon. (It could be in the hidden icons tray.)
By default, Docker is running in Linux container mode. If you want to run Windows container, switch it to Windows containers mode by right clicking the docker icon.
Click on the docker icon, and the docker window pops up. We can check current available images, running containers, etc. Also, use it to start/stop/delete containers, etc. I will not cover the docker GUI. In this article I will mainly use command lines to control containers.
For Linux containers
By default, Docker desktop runs in Linux container mode. Let us start with Linux then.
Download SQL Server Linux images
Open a cmd window, run following to download both SQL Server 2017 image and SQL Server 2019 image from Microsoft docker hub.
docker pull mcr.microsoft.com/mssql/server:2019-latest docker pull mcr.microsoft.com/mssql/server:2017-latest
Run the docker images for SQL Server 2017 and 2019
Let’s map port 1433 on the host for SQL Server 2017, and port 1436 on the host for SQL Server 2019. We will also specify enterprise edition with the “MSSQL_PID=Enterprise” option. Without this setting, by default, a container runs developer edition.
A few caveats. First, make sure to set a complex password otherwise you will not be able to connect later as the container will not start. Second, make sure to use double quotation (“”) for parameters, especially for SA_PASSWORD. I noticed, for Linux, the container exits in seconds if I use single quotation (”) or no quotation marks.
Here is the command to start a container:
docker run.-name sql_2017.e “ACCEPT_EULA=Y”.e “SA_PASSWORD=1SecurePassword1”.e “MSSQL_PID=Enterprise”.p 1433:1433.d mcr.microsoft.com/mssql/server:2017-latest
To test connection, we can try to connect to the container interactively. This command will do that and run the sqlcmd.exe program:
docker exec.it sql_2017 /opt/mssql-tools/bin/sqlcmd.S localhost.U sa
Let’s repeat this for the 2019 instance:
docker run.-name sql_2019_1436.e “ACCEPT_EULA=Y”.e “SA_PASSWORD=1SecurePassword1”.e “MSSQL_PID=Enterprise”.p 1436:1433.d mcr.microsoft.com/mssql/server:2019-latest docker exec.it sql_2019 /opt/mssql-tools/bin/sqlcmd.S localhost.U sa
Once this is run, we can run “docker ps.a” to see a list of containers. We can see both sql_2017 and sql_2019_1436 are running.
Connect to SQL Server instance using SSMS
Connect to the SQL Server 2017 instance using the default port, 1433, on the localhost.
Let’s check SQL Server version, it shows:
Microsoft SQL Server 2017 (RTM-CU25) (KB5003830). 14.0.3401.7 (X64) Jun 25 2021 14:02:48 Copyright (C) 2017 Microsoft Corporation Enterprise Edition (64-bit) on Linux (Ubuntu 16.04.7 LTS)
Connect to the SQL Server 2019 instance using port 1436 on the localhost.
Let’s check SQL Server version, it shows:
Microsoft SQL Server 2019 (RTM-CU11) (KB5003249). 15.0.4138.2 (X64) May 27 2021 17:34:14 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS)
Now, we have both SQL Server 2017 and SQL Server 2019 on Linux up and running. Congratulations!
For Windows containers
We first need to get ready for Window containers. Run the following code in a command window to remove the two containers we started earlier.
docker stop sql_2017 docker rm sql_2017 docker stop sql_2019_1436 docker rm sql_2019_1436
We can run “docker ps.a” to check if any containers are running. or simply check in the Docker window.
Next, let’s switch it to Windows containers mode by right click the docker icon and choose “Switch to Windows Containers. “. Now we are ready to test Windows containers.
Note: Microsoft has pulled support for SQL Server on Windows containers. This code may not work at some point as the images are gone. If you still want SQL Server support on Windows, WinDocks, a third party, provides this.
Download the Windows image
Run the following in a cmd window to download the SQL Server 2017 image on Windows.
docker pull microsoft/mssql-server-Windows-developer:2017-latest
You might notice that this Windows image is from GitHub, and the previous Linux images were from Microsoft docker hub (https://hub.docker.com/_/microsoft-mssql-server).
Run a Windows Container
Since I plan to share a folder on the host to the container, the folder c:\Pauline\database has been prepared on the host. This folder will be mapped to c:\data in the container.
Now, let’s start the Windows container by running the following:
docker run.d.p 1433:1433.-name sql-win.e sa_password=1SecurePassword1.e ACCEPT_EULA=Y.e “MSSQL_AGENT_ENABLED=true”.v c:\Pauline\database:c:\data microsoft/mssql-server-Windows-developer:2017-latest
If you are interested in knowing the IP of the container, run:
docker inspect.-format ” sql-win
Want to test your SQL Server connection using sqlcmd? I prepared a file, query.txt, under c:\Pauline\database (which is c:\data in the container). In the file, there is a simple query: select name from sys.databases.
Now let’s run the query using sqlcmd:
docker exec sql-win cmd.exe /C “sqlcmd.U sa.S localhost.P 1SecurePassword1.i c:\data\query.txt”
It returns the list of database names as expected.
Connect to SQL Server using SSMS
As we did before, we can use SSMS to connect. I have started this container with the default port, 1433, mapped, so we can just enter “localhost” as the Server name to connect.
Let’s check the version. It returns:
Microsoft SQL Server 2017 (RTM-CU1) (KB4038634). 14.0.3006.16 (X64) Oct 19 2017 02:42:29 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 (Build 14393: ) (Hypervisor)
Use SSMS to create a test database and specify data files with the path, c:\data. The data files show under the folder (c:\Pauline\database in my case) on the host.
Start SQL Server Agent
By default, the SQL Server Agent is disabled (Agent XPs disabled) even though we added “MSSQL_AGENT_ENABLED=true” in the docker run command. Let’s enable the agent. In SSMS login as the sa user. Run the following:
EXEC SP_CONFIGURE ‘show advanced options’,1 GO RECONFIGURE GO EXEC SP_CONFIGURE ‘Agent XPs’,1 GO RECONFIGURE EXEC SP_CONFIGURE ‘show advanced options’,0 GO RECONFIGURE GO
Now we are ready to start SQL Server agent by running the following:
docker container exec sql-win cmd.exe /C “net start sqlserveragent”
If you have question about this part, please google “SQL Server Agent XPs disabled”. There are plenty of explanations.
This article shows how to get started with Linux and Windows containers running SQL Server. Hope this helps and have fun :)!
Editor’s note: SQL Server Central has a stairway on using containers.
Step by Step – How to Install Docker (2020) in Windows 10
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 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
Docker Hub – download docker web page
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
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.
Docker Installation – Configuration settings
Docker Installation progress
Docker Installation Complete
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
Docker Icon – Windows task bar
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.
How to install Docker on Windows 10 Home
Docker is a tool used by developers to compile software using operating system-level virtualization. Docker has container infrastructure, meaning each container is secluded from the other, but all containers are delivered as a single product. Docker was originally introduced for the Linux platform.…
Docker is a tool used by developers to compile software using operating system-level virtualization. Docker has container infrastructure, meaning each container is secluded from the other, but all containers are delivered as a single product.
Docker was originally introduced for the Linux platform. But now, by ensuring several prerequisites, it can now be executed on Windows 10 Professional, Enterprise and Education editions. By default, the Windows 10 Home edition was not supported by the Docker. Let’s continue to see how we can enable Docker for the Home edition.
Ensuring the Prerequisites
We must firstly make sure that all prerequisites are met so that the installation of Docker runs smoothly and without interruptions.
- System Requirements:64-Bit Windows 10 Home edition version 2004 or higherAt least 4 GB RAM
- Install Hyper-V on Windows 10 Home edition.
- Enable Hyper-V and Container Windows Feature by pressing Windows Key and R, then enter OptionalFeatures. Make sure the features are checked, press OK to make the changes.
- Enable Virtualization from BIOS settings.
Install Linux Kernel
To begin with, we will need to update the WSL2 Linux Kernel. It is essential to do so as the communication between Docker and the hardware of the computer depends upon it. You may download the updated package for WSL2 Linux Kernel here.
When the download is completed, run it by double-clicking it and then press Next to begin the installation. This installation would usually take less than a minute. When completed, press Finish to exit the installation wizard.
Install Docker on Windows 10 Home
Next, we move onto the Docker itself. Download the installation package for Windows 10 Home here.
Once the download is complete, run it by double-clicking it. A screen should appear as shown below:
Ensure that Enable WSL 2 Windows Features is checked. Click OK to begin the installation. This step usually takes about 5 minutes as it displays a screen as show below:
Once the installation is completed, press Close and Restart to exit the installation wizard and restart the computer. Once the computer has rebooted, the Docker shall start itself and Windows such as the following should popup:
Once the installation is completed, we can now move back to revert to the registry manipulation performed earlier during the process and convert ProfessionalN back to CoreN.
If you are a developer and want to test your applications, Docker is the way to go. Go ahead and install Docker on your Windows 10 Home machine and enjoy testing. Don’t forget to comment below!
How to Install Docker on Windows: Step-By-Step Guide 
In this blog post, we are going to learn how to install Docker desktop on Windows step by step. But before we get into the installation process, let’s first define Docker.
Docker is an operating system-level virtualization software platform that assists users in developing and managing applications in the Docker environment, including all of their library dependencies.
We will discuss:
Benefits of Docker Desktop On Windows
Below are some of the advantages of using docker on Windows:
- Allows for an integrated user interface for viewing and monitoring Docker containers.
- Docker is launched in less than ten seconds.
- Linux Workspaces that are Simple to Use
- Allocates the necessary resources and memory space
- CA synchronization is included.
- Supports HTTP proxy settings
To successfully install Docker Desktop, your Windows machine must meet the following requirements.
WSL 2 backend
- Windows 11 64-bit: version 21H2 or higher of Home or Pro, or Enterprise or Education version 21H2 or higher.
- Home or Pro 21H1 (build 19043) or higher, or Enterprise or Education 20H2 (build 19042) or higher, Windows 10 64-bit.
- Enable the WSL 2 feature on Windows. For detailed instructions, refer to the Microsoft documentation.
- The following hardware prerequisites are required to successfully run WSL 2 on Windows 10 or Windows 11:
- 64-bit processor with Second Level Address Translation (SLAT)
- 4GB system RAM
- BIOS-level hardware virtualization support must be enabled in the BIOS settings. For more information, see Virtualization.
Hyper-V backend and Windows containers
- Windows 10 64-bit: Pro 21H1 (build 19043) or higher, or Enterprise or Education 20H2 (build 19042) or higher.
- Windows 11 64-bit: Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher.
- For Windows 10 and Windows 11 Home, see the system requirements in the WSL 2 backend tab.
- Hyper-V and Containers Windows features must be enabled.
- The following hardware prerequisites are required to successfully run Client Hyper-V on Windows 10:
- 64 bit processor with Second Level Address Translation (SLAT)
- 4GB system RAM
- BIOS-level hardware virtualization support must be enabled in the BIOS settings. For more information, see Virtualization.
Install Docker Desktop on Windows
Download the docker desktop file from Here.
Run the installer by double-clicking Docker Desktop Installer.exe.
Note: You can get the installer (Docker Desktop Installer.exe) from Docker Hub if you haven’t already. It usually downloads to your Downloads folder, but you can also run it from your web browser’s recent downloads bar.
When prompted, ensure the Use WSL 2 instead of Hyper-V option on the Configuration page is selected or not depending on your choice of backend.
You will not be able to choose which backend to use if your system only supports one of the two options.
Follow the installation wizard’s instructions to authorize the installer and begin the installation.
When the installation is finished, click Close to complete the installation process.
If your admin account differs from your user account, the user must be added to the docker-users group. As an administrator, launch Computer Management and navigate to Local Users and Groups Groups docker-users. Add the user to the group by right-clicking. Log out and back in to see the changes take effect.
Install from the command line
The command lines listed below can be used to install Docker desktop on Windows 10, 11, or higher versions.
“Docker Desktop Installer.exe” install
Start-Process ‘.\win\build\Docker Desktop Installer.exe’.Wait install
For Windows Command Prompt:
start /w “” “Docker Desktop Installer.exe” install
If your admin account is not the same as your user account, add the user to the docker-users group:
net localgroup docker-users /add
Start Docker Desktop
The tool does not start automatically after the installation process is completed. To launch the Docker tool, go to your desktop search results and look for Docker Desktop.
When you first launch Docker, you will be asked to sign a subscription service agreement for Docker Desktop. The docker desktop Windows will appear as soon as you accept it and agree to the terms and conditions, and you will be able to work on it. Don’t forget to use the docker desktop quick start guide to get the best experience.
Congratulations, your Docker installation on Windows is complete, and you are now ready to build and run Docker images and containers in the Docker ecosystem.
Learn more about Docker images
Join FREE Masterclass
To know about what is the difference between Kubernetes vs Docker and Virtual machine vs Container, why you should learn Docker and Kubernetes, Job opportunities for Kubernetes administrator in the market, and what to study Including Hands-On labs you must perform to clear Certified Kubernetes Administrator (CKA) certification exam by registering for our FREE Masterclass.
Click on the below image to Register Our FREE Masterclass Now!