Skip to content

Instantly share code, notes, and snippets.

@kevgk
Forked from talon/README.md
Created February 15, 2020 17:55
Show Gist options
  • Save kevgk/847377261e557353d7c3ec5fc9c2ac35 to your computer and use it in GitHub Desktop.
Save kevgk/847377261e557353d7c3ec5fc9c2ac35 to your computer and use it in GitHub Desktop.
Install Docker On Windows 10 Home

Install Docker On Windows 10 Home

"Windows Home Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run." So says the Docker Installer however, the Docker forums beg to differ

The workaround is to manually image the Hyper-V and Containers features, then trick the installer into thinking you're using Windows Pro.

TL;DR

  1. clone this gist somewhere locally git clone https://gist.github.com/4191def376c9fecae78815454bfe661c.git windows_home_docker
  2. Run windows_home_containers.ps1 in an Administrative Powershell
  3. Restart your computer
  4. Run windows_home_docker.ps1 in an Administrative Powershell

Note: You may need to run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser for Windows to let you execute the scripts

# Manually provision Windows Home by adding packages from C:\Windows\servicing\Packages to DISM
# (https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism---deployment-image-servicing-and-management-technical-reference-for-windows
function Import-Feature {
param( $Name )
$packages = Get-ChildItem "C:\Windows\servicing\Packages\*$Name*.mum"
foreach ($package in $packages) {
Dism /online /NoRestart /Add-Package:"$package"
}
Dism /online /NoRestart /Enable-Feature /FeatureName:$Name -All /LimitAccess /ALL
}
# Windows Home must be manually imaged with the required Docker Desktop features
Import-Feature -Name Microsoft-Hyper-V
Import-Feature -Name Containers
Write-Output ""
Write-Output "You may now restart your computer and use windows_home_docker.ps1 to install Docker"
# The Docker Desktop Installer assumes that only Windows Pro users have Hyper-V
# in order to skip that check, temporarily update the EditionID registry key to Professional
$windowsNT = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
$EditionID = (Get-ItemProperty $windowsNT).EditionID
Set-ItemProperty -Path $windowsNT -Name 'EditionID' -Value 'Professional'
Write-Output ''
Write-Output '==========================================================================================='
Write-Output "EditionID has been temporarily changed from $EditionID to Professional "
Write-Output 'You may now run the Docker Desktop Installer '
Write-Output ' '
Write-Output "When you're done, confirm the following prompt to revert your EditionID back to $EditionID "
Write-Output '==========================================================================================='
Write-Output ''
Set-ItemProperty -Confirm -Path $windowsNT -Name 'EditionID' -value $EditionID
Write-Output ""
Write-Output "All finished! Happy hacking!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment