在windows 10 Home 版, 預設是不會有Hyper-V的,但其實可以透過腳本做啟用
1.開Hyper-V
將下面程式存成 .cmd檔, 使用系統管理員執行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
pause
2. 在安裝docker時,會檢查作業系統版本,直接安裝會跳錯誤,所以需要變更註冊表繞過檢測
也可以直接下指令
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
之後再安裝docker就可以了
安裝docker 如果發生 Containers Windows Feature is not available
Containers Windows Feature is not available
在 CommunityInstaller.EnableFeaturesAction.GetFeaturesToEnable()
在 CommunityInstaller.EnableFeaturesAction.<DoAsync>d__29.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 CommunityInstaller.InstallWorkflow.<HandleD4WPackageAsync>d__29.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CommunityInstaller.InstallWorkflow.<ProcessAsync>d__24.MoveNext()
再建立一個container.cmd , 內容如下 , 使用系統管理員執行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause