一、WSL Docker 簡介
WSL Docker 是一款基於 Windows Subsystem for Linux2(WSL2)的 Docker 解決方案,它提供了與 Docker Desktop for Windows 相近的體驗,使得 Windows 下的開發者無需開啟傳統虛擬機就能夠輕鬆構建和管理 Docker 容器。
WSL Docker 可以在 Windows 10、Windows Server 2019 和 Windows 11 的 WSL2 環境中運行,用戶可以使用 Linux 的命令行工具或者使用 Windows 中的 GUI 界面來管理 Docker 容器。同時,WSL Docker 可以與 Visual Studio Code 集成,提供更加友好和高效的開發體驗。
二、WSL Docker 安裝
在安裝 WSL Docker 之前,首先需要確保環境中已經安裝了 WSL2、Docker Desktop for Windows 以及 Windows Terminal。
1. 安裝 WSL2
# 升級到最新版本的 Windows
sudo apt-get update && sudo apt-get upgrade -y
# 安裝 WSL2
sudo apt-get install -y curl gnupg2 apt-transport-https
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo apt-get install -y docker-compose
sudo usermod -aG docker $USER
2. 安裝 Docker Desktop for Windows
在官網下載 Docker Desktop for Windows 並安裝,保持默認配置即可。
3. 安裝 Windows Terminal
在 Microsoft Store 中搜索 Windows Terminal 並安裝。
4. 安裝 WSL Docker
# 安裝 WSL Docker
git clone https://github.com/microsoft/wsl-docker.git
./wsl-docker.sh install
三、WSL Docker 使用
使用 WSL Docker 和使用傳統 Docker 差別不大,基本操作和命令都相同。使用 WSL Docker 時,可以通過以下命令在 WSL2 中啟動 Docker。
sudo service docker start
通過 docker 命令可以查看 Docker 容器的狀態、創建和啟動容器,使用 docker run 命令啟動容器時,需要加上 –platform=linux 選項。
# 查看 Docker 容器列表
docker ps -a
# 創建並運行 Docker 容器
docker run -d --name my_container -p 80:80 nginx --platform=linux
WSL Docker 雖然能夠提供一些避免使用傳統虛擬機的便利,但也存在一些限制。由於 WSL2 是運行在 Windows 中的,因此無法直接訪問 Windows 下的文件系統,需要藉助掛載點,將 Windows 中的目錄掛載到 WSL2 中。同時,WSL Docker 中的容器也不能直接訪問 Windows 下的網路資源,需要藉助 Windows 下的代理伺服器實現網路連接。
四、WSL Docker 和 Visual Studio Code 集成
WSL Docker 還可以與 Visual Studio Code 集成,提供更加友好和高效的開發體驗。
1. 安裝 Remote – WSL 插件
在 VS Code 中搜索 Remote – WSL 插件,安裝。
2. 在 WSL2 中打開 VS Code
在 WSL2 中運行 VS Code,可以通過以下命令打開:
# 安裝代碼編輯器 VS Code
sudo apt-get install -y wget curl software-properties-common apt-transport-https
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt-get update
sudo apt-get install -y code
# 在 WSL2 中打開 VS Code
code .
3. 通過 VS Code 進行開發
在 WSL2 中打開 VS Code 後,就可以像在本地開發一樣使用 VS Code 進行開發了,可以通過命令行或者文件瀏覽器打開項目目錄,進行代碼編寫、調試和版本控制。
五、WSL Docker 的優缺點
WSL Docker 作為一款新興的 Docker 解決方案,其優點和缺點明顯。
1. 優點
WSL Docker 無需開啟傳統虛擬機,可以在 Windows 中輕鬆構建和管理 Docker 容器,因此啟動速度更快、佔用資源更少。同時,WSL Docker 在 Windows 下的操作體驗更加友好和自然,對於習慣了 Linux 命令行工具的開發者來說,更容易操作。
2. 缺點
WSL Docker 存在一些限制,比如無法直接訪問 Windows 下的文件系統和網路資源,需要藉助掛載點和代理伺服器實現。同時,由於 WS2 是建立在 Windows 上的,WSL Docker 的容器的部分性能會受到限制。對於一些高性能的應用和服務來說,傳統 Docker 還是更適合。
六、存在的問題
WSL Docker 在實際使用中,仍然存在一些問題和局限,主要包括:
1. 文件系統性能不高
WSL2 中的文件系統存在一些性能瓶頸,對於一些 IO 密集型應用和服務可能存在性能問題,建議使用 SSD 硬碟以提高性能。
2. 掛載點方式不靈活
WSL Docker 需要通過指定掛載點的方式,來訪問 Windows 中的文件系統,但是這種方式存在一些局限性,例如無法掛載遠程文件系統或者其他非 Windows 系統的分區。
3. 需要設置代理伺服器
WSL Docker 的容器無法直接訪問 Windows 下的網路資源,需要設置代理伺服器,這對於網路訪問要求嚴格的應用和服務來說,可能存在難題。
七、總結
WSL Docker 是一款基於 WSL2 的新型 Docker 解決方案,其能夠提供更加輕量、高效和友好的開發體驗,方便 Windows 下的開發者進行 Docker 開發。但是 WSL2 仍然存在一些局限性和問題,需要開發者謹慎使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152538.html