起因
Docker作為一個(gè)容器化技術(shù)的熱門工具,常常用于服務(wù)的快速布設(shè)和運(yùn)維。個(gè)人也是沉迷于Docker帶來(lái)的便利,習(xí)慣在Linux服務(wù)器上使用Docker。但是由于,最近服務(wù)器到期了,并且最近沒(méi)有續(xù)費(fèi)的打算,所以急需在Windows上進(jìn)行Docker的安裝。
之前其實(shí)在win10上安裝過(guò)Docker,但是,由于我的win10是家庭版的,當(dāng)時(shí)是通過(guò)Docker Toolbox進(jìn)行的安裝,還額外安裝了虛擬機(jī),整個(gè)體驗(yàn)比較差,后來(lái)就刪除了。
由于Windows10家庭版中默認(rèn)沒(méi)有Hyber-V,所以通過(guò)一般途徑是無(wú)法安裝 Docker最新版 了??。
*[Docker最新版]: 這里的docker最新版,特指Docker Desktop
但是,誰(shuí)奈萬(wàn)能的網(wǎng)友十足給力,找到了家庭版開(kāi)啟Hyber-V的方法 :smile:,不敢私藏,這就分享如下:
安裝Window下的Docker
by using Docker Desktop
1. 安裝Hyber-V
首先就是代碼糊臉,通過(guò)將下方的代碼復(fù)制到記事本中,并另存為enable_hyber_v.cmd
,之后直接右擊該腳本,通過(guò)管理員模式
運(yùn)行,就會(huì)看到已經(jīng)開(kāi)始安裝Hyber-V了,整個(gè)安裝過(guò)程時(shí)間較久。
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
經(jīng)過(guò)一段時(shí)間的耐心等候之后,會(huì)提示回復(fù)Y
進(jìn)行重啟,重啟之后,就可以看到自己的Hyber-V已經(jīng)安裝好了。:dog:
2. 安裝Docker Desktop
如果是掌握“魔法”的小伙伴,可以通過(guò)直接訪問(wèn)Docker Desktop for Windows無(wú)需注冊(cè)來(lái)到下圖的頁(yè)面,獲取最新的Windows下的Docker安裝包。
這里我也把官方的下載鏈接貼在這里:
官方下載鏈接??
難道,不會(huì)魔法的普通人,就不能下載了嗎?:cry:,不???,我不允許這樣的情況存在,遂將自己的下載好的最新版的Docker Desktop安裝包放在了萬(wàn)能的CSDN上,點(diǎn)擊下方的傳送門,直達(dá)下載資源的頁(yè)面:
這里特分享一個(gè)國(guó)內(nèi)的Docker資源網(wǎng)站:DaoCloud,上面也有windows下的docker的下載,但是!我要說(shuō)但是了,上面的資源版本很舊,我反正用那個(gè)沒(méi)有安裝成功,都沒(méi)有機(jī)會(huì)點(diǎn)擊下一步,如果有興趣的童鞋可以試一下。
下載好之后,直接進(jìn)行運(yùn)行即可,下圖為安裝截圖
如果有問(wèn)題,可以參考文后的附錄
安裝好之后,直接點(diǎn)擊關(guān)閉重啟即可。
完結(jié)★,°:.☆( ̄▽ ̄)/$:.°★ 。
附錄
歡迎隨時(shí)提問(wèn),這里會(huì)將問(wèn)題匯總進(jìn)行補(bǔ)充。
目前問(wèn)題1
如果直接運(yùn)行安裝提示檢測(cè)到是Home version的系統(tǒng)
之類的話,可以通過(guò)修改注冊(cè)表進(jìn)行繞過(guò),繞過(guò)之后,理論上就可以進(jìn)行安裝了,安裝完之后,就算改回也不會(huì)影響使用。
By the way, 我是用DaoCloud上的舊版時(shí),遇到了這個(gè)問(wèn)題,但是即使修改了注冊(cè)表也沒(méi)有用,這才使用的最新版,所以如果使用了DaoCloud里的安裝包之后,遇到這個(gè)問(wèn)題,該方初步斷定無(wú)效。
具體解決方案
打開(kāi)注冊(cè)表,定位到
HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion
,點(diǎn)擊current version
,在右側(cè)找到EditionId
,右鍵點(diǎn)擊EditionId
選擇“修改“,在彈出的對(duì)話框中將第二項(xiàng)”數(shù)值數(shù)據(jù)“
的內(nèi)容改為Professional
,然后點(diǎn)擊確定。
轉(zhuǎn)載自簡(jiǎn)書
也可以使用命令直接修改REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
修改之前,請(qǐng)備份注冊(cè)表;重啟計(jì)算機(jī)后,注冊(cè)表中的值將恢復(fù),但不會(huì)影響Docker使用。
目前問(wèn)題2
安裝重啟之后,提示如下圖:
解決方案
這是在說(shuō)我們需要升級(jí)WSL2的內(nèi)核了,直接點(diǎn)擊鏈接,到官網(wǎng)上進(jìn)行升級(jí)即可。
為了方便,我直接把下載鏈接放在這里,國(guó)內(nèi)下載速度雖慢,但由于比較小,還是可以下載下來(lái)的,如果大家想下載快點(diǎn)兒,也可以到我分享的資源下載,兩個(gè),鏈接分別放出來(lái):
官網(wǎng):適用于 x64 計(jì)算機(jī)的 WSL2 Linux 內(nèi)核更新包
個(gè)人轉(zhuǎn)存CSDN:適用于 x64 計(jì)算機(jī)的 WSL2 Linux 內(nèi)核更新包
這里額外說(shuō)明幾點(diǎn):
- WSL即:
適用于 Linux 的 Windows 子系統(tǒng)
- WSL 2 僅適用于 Windows 10 版本 1903、內(nèi)部版本 18362 或更高版本。 通過(guò)按 Windows 徽標(biāo)鍵 + R,檢查你的 Windows 版本,然后鍵入 winver,選擇“確定”。 (或者在 Windows 命令提示符下輸入 ver 命令)。 你可能需要更新到最新的 Windows 版本。 低于 18362 的版本根本不支持 WSL。
- 可以通過(guò)
wsl -l -v
命令在windows下查看當(dāng)前系統(tǒng)下的分發(fā),及其運(yùn)行狀態(tài)。 - 可以通過(guò)
\\wsl$
從 Windows 訪問(wèn) Linux 文件。 - 在win10 家庭版只能基于wsl2基礎(chǔ)啟用支持linux container,所以需要先安裝wsl2(windows的子linux功能、hyper-v、微軟發(fā)布的專用linux內(nèi)核補(bǔ)丁),然后安裝docker desktop,會(huì)同步安裝windows container feature(但實(shí)際只能支持linux container);在win10 pro或enterprise版本上可以在windows container或linux container之間轉(zhuǎn)換。
目前問(wèn)題3
在Docker Desktop中有一個(gè)例子,可以在界面上進(jìn)行運(yùn)行,但是有一點(diǎn),就是很多包都是需要引入外網(wǎng)的,這里為了方便,就修改了其中的Dockerfile中的部分內(nèi)容,加入了國(guó)內(nèi)源,可以正常地進(jìn)行運(yùn)行演示。
解決方案
由于這里不能傳文件,我還是實(shí)例上傳到CSDN,需要的同學(xué)可以來(lái)下載,下載之后,直接解壓到C:\Users\<你的用戶名>\getting-started
目錄下,將原文件覆蓋掉就好了。