常見問題集
MSI
如果使用者安裝了較舊版本的 Docker Desktop(例如 .exe
),使用者資料會發生什麼事?
如果使用者安裝了較舊的 .exe
版本,則必須先解除安裝此版本,才能使用新的 MSI 版本。這會刪除所有 Docker 容器、映像檔、磁碟區和其他與 Docker 相關的本機資料,並移除應用程式產生的檔案。對於較舊的版本,使用者應該備份任何想要保留的容器。
對於 exe
安裝程式的 Docker Desktop 4.30 版和更新版本,可以使用 -keep-data
旗標。它會移除 Docker Desktop,但會保留基礎資料,例如執行容器的 VM。
& 'C:\Program Files\Docker\Docker\Docker Desktop Installer.exe' uninstall -keep-data
如果使用者的機器安裝了較舊的 .exe
版本,會發生什麼事?
新的 MSI 安裝程式會檢查是否已安裝先前的版本,如果已安裝,則不會繼續安裝。相反地,它會提示使用者先解除安裝目前的/舊版本,然後再嘗試安裝 MSI 版本。
我的安裝失敗了,我該如何找出原因?
MSI 安裝有時可能會意外失敗,並且沒有提供使用者太多關於錯誤原因的資訊。
要偵錯失敗的安裝,請啟用詳細記錄再次執行安裝
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log"
安裝失敗後,開啟記錄檔並搜尋 value 3
。這是 Windows 安裝程式在失敗時輸出的結束代碼。在該行的正上方,您會找到失敗的原因。
為什麼每次全新安裝結束時,安裝程式都會提示重新啟動?
安裝程式會提示重新啟動,因為它假設系統已進行變更,需要重新啟動才能完成設定。
例如,如果您選擇 WSL 引擎,安裝程式會新增必要的 Windows 功能。安裝這些功能後,系統會重新啟動以完成設定,以便 WSL 引擎正常運作。.
您可以使用 /norestart
選項從命令列啟動安裝程式來抑制重新啟動
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /norestart
為什麼使用 Intune 或其他 MDM 解決方案安裝 MSI 時,docker-users
群組沒有被填入?
MDM 解決方案通常會在系統帳戶的環境中安裝應用程式。這表示 docker-users
群組不會填入使用者的帳戶,因為系統帳戶無法存取使用者的環境。
例如,您可以在提高權限的命令提示字元中使用 psexec
執行安裝程式來重現此問題
psexec -i -s msiexec /i "DockerDesktop.msi"
安裝應該會順利完成,但 docker-users
群組不會被填入。
解決方法是建立一個在使用者帳戶環境中執行的指令碼。
該指令碼將負責建立 docker-users
群組並使用正確的使用者填入它。
以下是一個建立 docker-users
群組並將目前使用者新增至其中的範例指令碼(需求可能會因環境而異)
$Group = "docker-users"
$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
# Create the group
New-LocalGroup -Name $Group
# Add the user to the group
Add-LocalGroupMember -Group $Group -Member $CurrentUser
注意事項
將新使用者新增至
docker-users
群組後,該使用者必須登出再登入,變更才會生效。