一、windows terminal(重要工具,但也可以不裝)
這是微軟官方推薦的終端工具,類似mac的iterm2,可同時開啟多個終端,最開始默認有power shall,cmd,可下載gsudo集成PowerShall(管理員),安裝完wsl(linux)后,系統也會自動集成到選項中。
安裝並開始設置 Windows 終端 微軟官網鏈接。顏值黨可自定義主題,背景等。 相關教程相當之多。
設置PowerShall(管理員):
也可直接輸入命令下載
winget install gsudo
在json配置文件中添加
"profiles":
{
"list":
[
{
"commandline": "gsudo.exe powershell.exe",
"guid": "{41dd7a51-f0e1-4420-a2ec-1a7130b7e950}",
"hidden": false,
"name": "Windows PowerShell Elevated"
}
]
}
如圖

二、安裝wsl
以{Ubuntu}代指需下載的linux系統版本,wsl2默認Ubuntu。
必要前提:
1.在系統設置中查找“Turn Windows features on or off”(打開或關閉Windows功能),選中Hyper-V、Virtual Machine Platform、Windows Hypervisor Platform(適用於Linux的Windows子系統、虛擬機平台)三個選項。確認打開,重啟。
2.確保在BIOS中啟用虛擬化。可根據電腦廠家型號查找進入bios方法(開機時狂按某鍵),以及如何設置。
3.需在PowerShall(管理員)運行所有命令。
安裝:
wsl2相比wsl1簡化了安裝操作,現在只需要直接使用命令安裝 。
wsl --install
如wsl已安裝,誤刪了linux系統,可使用以下命令查找可下載版本並重新下載。也可以直接進入微軟商店尋找下載。
wsl --list --online
wsl --install -d {Ubuntu}

安裝會彈出{Ubuntu}窗口,進行自動下載,需等待片刻不要關閉窗口,下載完成后,填寫linux賬號密碼進行初始化(此處初始化的是linux用戶的賬號密碼。su命令需使用的密碼,即root用戶初始密碼初始是沒有設置的,需要后面在liunx終端使用命令“sudo passwd root”修改)
安裝WSL 微軟官網鏈接。
進入linux虛擬機:
安裝完wsl后,可在powershall中輸出wsl,進入wsl設置的默認linux虛擬機。

退出

也可以在windows terminal中進入

或者直接直接打開

掛載盤
直接安裝的linux系統中,會把本地電腦的文件夾掛載到 /mnt/ 文件夾中,C盤對應/mnt/c,D盤對應/mnt/d,以此類推。如果想要改變掛載目錄,可使用如下命令。以/文件夾為例。
sudo mkdir /c
sudo umount /mnt/d
sudo mount -t drvfs C: /c
微軟商店安裝linux方法:

三、安裝docker
windows:
安裝windows版的客戶端docker,需在客戶端中開啟支持wsl2的選項。
WSL 2 上的 Docker 遠程容器入門 微軟官網鏈接。
可視化的客戶端很方便,但裝在windows上的docker不可以在linux虛擬機中使用,也意味着你用docker基本告別命令行了。還需注意在windows系統中,對設置的掛載盤要設置共享文件權限,否則會有些奇怪的bug。
linux:
直接下載docker可能不會是最新版,推薦參照docker的官網教程安裝:docker官網安裝文檔(Ubuntu)
檢查安裝


注:使用docker時,端口需顯式掛載,否則需要使用docker-machine進行查看對應的隨機本地端口(或者windows客戶端中直接查看)
docker-compose推薦使用pip安裝,pip是基於python的包安裝程序。需注意,linux虛擬機中默認python版本是2.7,我們需要下載並改默認為3,pip也有python和python3兩個版本,需要使用python3版本的。
改變系統默認python版本:
apt-get install python3
sudo rm -rf python
sudo ln -s /usr/bin/python3 /usr/bin/python
安裝pip3
sudo apt-get install python3-pip
安裝docker-compose
pip install docker-compose
檢查版本

注:pip安裝軟件時出現Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*
sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1
