前言
最近發現Windows Server上的Docker非常不穩,常常需要重新啟動Docker服務才會正常,
仔細一查才發現,原來我們的Docker裝的是Desktop版本,所以只要User Timeout被登出後,
Docker 也會一起被關閉,決定把Docker 換成EE版本的,照著官方說明安裝一直無法順利安裝,
紀錄一下如何將Docker EE安裝到Windows Server上.
1.安裝 Docker-Microsoft PackageManagement
首先,Windows Server的版本至少要是2016以上,且必須安裝最新的更新,
如果在錯誤的版本上,安裝好也會執行不起來唷,
接下來安裝 Docker-Microsoft PackageManagement
使用PowerShell以系統管理員身分執行以下Script,
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
2.安裝Docker
按照官網指示我直接執行以下Script,
Install-Package -Name docker -ProviderName DockerMsftProvider
結果,先是出現了以下錯誤,
重開機後,甚至是什麼都沒做就直接結束,仔細看一下錯誤訊息,發現安裝時會去特定的暫存目錄尋找安裝檔(C:\Users\當前使用者\AppData\Local\Temp\2\DockerMsftProvider\Docker-19-03-1.zip)
發現該目錄真的沒有那個檔案,因此執行以下Script把檔案下載下來(記得要切到該目錄底下唷!),
Start-BitsTransfer -Source https://dockermsft.blob.core.windows.net/dockercontainer/docker-19-03-1.zip -Destination docker-19-03-1.zip
執行完成後,可以看到該目錄底下真的有那個檔案了,
執行安裝Script
Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose
結果出現以下錯誤,
網路上一些Solution有提到要先Get SHA256,其實我對這個步驟有很多疑惑,但執行完後就真的過了…
Get-FileHash -Path .\docker-19-03-0.zip -Algorithm SHA256
再執行安裝Script
Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose
就出現以下成功畫面啦~~~
接著啟動Docker Service
Start-Service Docker
再來看看Docker 是否正常啟動
docker info
看到以下畫面就是成功啦!!!
小結
感覺很簡單的幾個步驟,卻卻耗了我不少時間,
建議大家還是直接用Linux 會比較穩定一點唷!
參考
https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/919