前幾天重裝系統(tǒng),把系統(tǒng)升到了Windows 10 2004,然后在安裝Docker Desktop(2.3.0.3版本)時(shí)發(fā)現(xiàn)跟以前不太一樣了。現(xiàn)在Docker Desktop默認(rèn)使用WSL 2來(lái)運(yùn)行,而不是以前的Hyper-V。
WSL:適用于 Linux 的 Windows 子系統(tǒng)。
適用于 Linux 的 Windows 子系統(tǒng)可讓開(kāi)發(fā)人員按原樣運(yùn)行 GNU/Linux 環(huán)境 - 包括大多數(shù)命令行工具、實(shí)用工具和應(yīng)用程序 - 且不會(huì)產(chǎn)生虛擬機(jī)開(kāi)銷。
WSL 2 是適用于 Linux 的 Windows 子系統(tǒng)體系結(jié)構(gòu)的一個(gè)新版本,它支持適用于 Linux 的 Windows 子系統(tǒng)在 Windows 上運(yùn)行 ELF64 Linux 二進(jìn)制文件。 它的主要目標(biāo)是提高文件系統(tǒng)性能,以及添加完全的系統(tǒng)調(diào)用兼容性。
安裝完后試了一下,最明顯的感覺(jué)就是開(kāi)啟docker的速度大大提升?。?!
但是以前設(shè)置鏡像位置的功能不見(jiàn)了:
安裝docker后,docker會(huì)自動(dòng)創(chuàng)建2個(gè)發(fā)行版:
WSL發(fā)行版默認(rèn)都是安裝在C盤,在%LOCALAPPDATA%/Docker/wsl目錄
docker的運(yùn)行數(shù)據(jù)、鏡像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中,這對(duì)C盤空間緊張的人非常不友好。。。
網(wǎng)上查了一下wsl發(fā)行版遷移,幾乎都是說(shuō)使用LxRunOffline.exe
經(jīng)過(guò)我試驗(yàn),LxRunOffline.exe確實(shí)可以遷移自己安裝的發(fā)行版,卻遷移不了docker自動(dòng)創(chuàng)建的2個(gè)發(fā)行版!
最后只能去github提了個(gè)issues:https://github.com/docker/for-win/issues/7348
下面是操作方法:
首先關(guān)閉docker
關(guān)閉所有發(fā)行版:wsl --shutdown
將docker-desktop-data導(dǎo)出到D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar(注意,原有的docker images不會(huì)一起導(dǎo)出)wsl --export docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar
注銷docker-desktop-data:wsl --unregister docker-desktop-data
重新導(dǎo)入docker-desktop-data到要存放的文件夾:D:\SoftwareData\wsl\docker-desktop-data\:wsl --import docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\ D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar --version 2
只需要遷移docker-desktop-data一個(gè)發(fā)行版就行,另外一個(gè)不用管,它占用空間很小。
完成以上操作后,原來(lái)的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx就遷移到新目錄了:
參考:
https://docs.microsoft.com/zh-cn/windows/wsl/
https://docs.docker.com/docker-for-windows/wsl/
聯(lián)系客服