windows下Docker Desktop安裝管理

檢查要求

  • Windows 10 企業版、專業版或教育版 (必須windows10 1903版本以上)版本號 18362.1049+18363.1049+ ,次版本#大於.1049。最好是最新版(新版windows能夠hype-v wsl2 vmvare共存,但安卓模擬器目前還沒穩定的共存版本)。建議使用wsl2,安裝包容量會比起hype-v小不少 。
  • Windows開啓wsl2,建議 Windows 10 2004(版本號不低於 19041.264),可wsl2與vmvare共存。
  • CPU 支持並開啓虛擬化(Intel VT-cAMD SVM)。
  • 最少 4 GB 內存。

對於專業版、企業版、教育版可使用docker desktop wsl2模式,此處無需開啓Hype-vdocker

對於Win10 家庭版,Win10 19041.264以前版本,及 Win7 8用戶,可使用docker desktop Hype-v 後端。shell

修改安裝盤

Docker Desktop 默認安裝到 C:\Program Files\Docker 並不可更改,這樣很不友好,能夠經過軟鏈接的方式改變Docker Desktop 默認安裝盤。windows

mklink /J "C:\Program Files\Docker" "D:\Program Files\Docker"

限制wsl2運行最大內存

WSL 是 Microsoft 提供的一項功能,可使開發人員可以直接在 Windows 上運行 GNU/Linux 環境,無需修改,無需傳統虛擬機或雙引導設置,減小了開發人員的使用複雜度後端

在 Docker Desktop 使用了 WSL 2 中的動態內存分配特性,極大地提升了資源消耗。這意味着,Docker Desktop 僅使用其所需的 CPU 和內存資源量,同時使 CPU 和內存密集型任務(例如構建容器)運行得更快。網站

但WSL2目前一個弊端,可能WSL2 vm會分配全部可用內存,並最終致使操做系統和其餘應用程序的內存不足。操作系統

因此須要對WLS2內存和CPU資源進行限制,在 cmdpowshell 終端中code

wsl --shutdown
fsutil file createNew %UserProfile%/.wslconfig 0
notepad "%UserProfile%/.wslconfig"

在用戶目錄建立一個文件.wslconfig ,編輯 .wslconfigblog

[wsl2]
memory=3GB   # 限制wsl2的虛擬機最大內存
processors=4  # 限制wsl2使用的處理器數量
swap=0      # 不使用交換文件

安裝Docker Desktop

完成上面的操做,能夠安裝Docker Desktop了。從Docker Desktop網站下載安裝Docker Desktop for Windows,大於500M。內存

安裝步驟基本上點擊操做便可,沒有什麼難度資源

鏡像路徑遷移

當使用了WSL2做爲Docker Desktop後端引擎時,WSL 2 Docker-Desktop-Data 的VM磁盤鏡像一般在 %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx 路徑下,docker-desktop一般在%LOCALAPPDATA%/Docker/wsl 路徑下,由於鏡像的大小及一些交換文件,一般會佔用大量C盤空間,能夠改變其存儲位置。

wsl --list -v

輸入上述命令能夠看到以下內容

NAME                STATE          VERSION
* docker-desktop         Stopped         2
  docker-desktop-data      Stopped         2

docker-desktop 替換了以前使用的 Hyper-V VM 實現 Docker Desktop。這處理容器的引導和管理。

docker-desktop-data 是存儲docker鏡像和配置的地方;其實是對 Hyper-V 之前使用的虛擬硬盤的直接替換。

從這裏能夠看出Docker Desktop使用了WSL2做爲後端引擎時,實際上整個應用做爲WLS2的兩個子系統進行的。能夠經過遷移WSL2系統鏡像的存儲位置來改變Docker霸佔C盤不可轉移的弊端。

導出wsl系統鏡像

wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar

刪除Docker Desktop wsl子系統,此操做會自動刪除 ext4.vhdx 文件,故須要先導出一份備份

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

導入從新建立wsl Docker Desktop子系統

wsl --import docker-desktop d:\{new_path} docker-desktop.tar
wsl --import docker-desktop-data d:\{new_path} docker-desktop-data.tar

完成後,啓動Docker服務,若是服務正常,能夠刪除掉 docker-desktop.tardocker-desktop-data.tar

沒法啓動

我在使用windows時,會安裝冰點還原,由於windows10 以上須要 冰點還原 8.38以上,我這裏使用 8.38.020.4676 版本時,在開啓還原狀態時,Docker沒法正常啓動,在關閉還原時,能夠正常啓動。更換 8.62.020.5630。後正常。 8.38.020.4676 是2017年的版本,當時Docker對windows兼容並很差,而8.38.020.4676 是2020年發行的版本,目前在使用中並未發現異常。 8.38.020.4676 與 8.62.020.5630爲網上常見的純淨的破解版了,因此按需選擇使用。

相關文章
相關標籤/搜索