在WSL中安裝Docker的兩種方法步驟
前言
為現(xiàn)代開發(fā)環(huán)境打造高效的容器化工作流
作為現(xiàn)代開發(fā)者的核心工具,Docker 與 WSL 的結合為 Windows 用戶提供了接近原生 Linux 的開發(fā)體驗。本文將詳細介紹兩種在 WSL 中安裝 Docker 的方法,幫助你選擇最適合自己需求的方案。
方法一:Docker Desktop + WSL 2 后端(推薦方案)
這是目前官方推薦且最高效的安裝方式,充分利用了 WSL 2 的架構優(yōu)勢。
核心優(yōu)勢
- 卓越性能:基于 WSL 2 的完整系統(tǒng)調用兼容性,文件 I/O 性能大幅提升
- 無縫集成:單一 Docker 守護進程同時服務于 Windows 和 WSL 環(huán)境
- 簡化管理:通過 Docker Desktop 圖形界面統(tǒng)一管理容器、鏡像和設置
- 跨環(huán)境支持:在 WSL 終端和 Windows PowerShell 中均可使用 Docker 命令
環(huán)境準備
確保系統(tǒng)滿足以下要求:
- 操作系統(tǒng):Windows 10 版本 2004(Build 19041)或更高版本,或 Windows 11
- 啟用 WSL 2 功能:以管理員身份運行 PowerShell:
# 一鍵安裝(推薦,適用于最新版 Windows) wsl --install # 或手動啟用必要功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 重啟后設置 WSL 2 為默認版本 wsl --set-default-version 2
詳細安裝步驟
1. 下載 Docker Desktop
訪問 https://www.docker.com/products/docker-desktop/ 下載 Windows 版安裝程序。
2. 安裝過程中的關鍵配置
運行安裝程序時,務必勾選 “Use WSL 2 instead of Hyper-V” 選項,這是實現(xiàn)高效集成的核心設置。
3. 安裝后配置
- 安裝完成后重啟計算機
- 首次啟動 Docker Desktop 時,進入 Settings → General
- 確認 “Use the WSL 2 based engine” 選項已啟用
- 在 Settings → Resources → WSL Integration 中,確保你的 WSL 發(fā)行版已開啟集成
4. 驗證安裝
打開 WSL 發(fā)行版(如 Ubuntu),執(zhí)行以下命令驗證:
# 檢查版本 docker --version docker-compose --version # 運行測試容器 docker run --rm hello-world # 更全面的系統(tǒng)檢查 docker info
故障排除
如果遇到 WSL 2 集成問題,可嘗試以下命令:
# 檢查 WSL 狀態(tài) wsl --status # 確保發(fā)行版使用 WSL 2 wsl --list --verbose # 如果版本不對,進行轉換 wsl --set-version Ubuntu 2
方法二:在 WSL 發(fā)行版內(nèi)直接安裝 Docker Engine
這種傳統(tǒng)方法將 Docker 直接安裝在 WSL 的 Linux 環(huán)境中,適合有特殊需求的用戶。
適用場景
- 需要在純命令行環(huán)境下工作
- 希望完全控制 Docker 守護進程
- 環(huán)境限制無法安裝 Docker Desktop
- 學習 Linux 系統(tǒng)管理的練習環(huán)境
Ubuntu/Debian 發(fā)行版安裝步驟
1. 更新系統(tǒng)并安裝依賴
sudo apt update sudo apt upgrade -y # 安裝必要工具 sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
2. 添加 Docker 官方倉庫
# 創(chuàng)建密鑰環(huán)目錄 sudo install -m 0755 -d /etc/apt/keyrings # 下載并安裝 Docker 的 GPG 密鑰 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # 添加穩(wěn)定版?zhèn)}庫 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. 安裝 Docker Engine
# 更新倉庫信息 sudo apt update # 安裝 Docker sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
4. 配置用戶權限和服務
# 啟動 Docker 服務 sudo systemctl start docker sudo systemctl enable docker # 將當前用戶加入 docker 組 sudo usermod -aG docker $USER # 重要:重新登錄使組權限生效 newgrp docker # 驗證安裝 docker run --rm hello-world
針對 WSL 的特殊優(yōu)化
在 WSL 環(huán)境中直接運行 Docker 時,建議進行以下優(yōu)化配置:
1. 配置 Docker 守護進程啟動選項
# 編輯 Docker 配置文件 sudo nano /etc/docker/daemon.json
添加以下內(nèi)容以優(yōu)化 WSL 環(huán)境下的性能:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/home/docker-data"
}
2. 設置 Docker 服務自動啟動
由于 WSL 的特殊性,需要確保 Docker 服務正確啟動:
# 創(chuàng)建啟動腳本 sudo nano /etc/wsl.conf
添加以下內(nèi)容:
[boot] command = "service docker start"
方案對比與選擇建議
| 特性 | Docker Desktop + WSL 2 | WSL 內(nèi)直接安裝 |
|---|---|---|
| 安裝難度 | ????? (非常簡單) | ??? (需要命令行經(jīng)驗) |
| 性能表現(xiàn) | ????? (最優(yōu)) | ???? (良好) |
| 資源占用 | ???? (共享守護進程) | ??? (獨立守護進程) |
| 維護成本 | ????? (自動更新) | ??? (手動維護) |
| 功能完整性 | ????? (全功能支持) | ???? (核心功能) |
| 學習價值 | ??? (抽象程度高) | ????? (深入理解) |
選擇建議
選擇 Docker Desktop + WSL 2 如果:
- 你是 Docker 初學者或追求開發(fā)效率
- 希望獲得開箱即用的完整體驗
- 需要在 Windows 和 WSL 環(huán)境間無縫切換
- 看重圖形化界面和便捷的更新機制
選擇 WSL 內(nèi)直接安裝如果:
- 你是 Linux 系統(tǒng)管理員或 DevOps 工程師
- 需要完全控制 Docker 守護進程的配置
- 環(huán)境限制無法安裝 Docker Desktop
- 希望通過實踐深入學習 Docker 和 Linux 系統(tǒng)管理
最佳實踐與優(yōu)化技巧
1. 磁盤空間管理
Docker 鏡像和容器可能占用大量磁盤空間,定期清理:
# 清理無用資源 docker system prune -a --volumes # 查看磁盤使用情況 docker system df
2. 項目文件存儲位置
將項目文件存儲在 WSL 文件系統(tǒng)內(nèi)(如 /home/username/projects)而非 Windows 文件系統(tǒng)(如 /mnt/c/),以獲得更好的性能。
3. 開發(fā)環(huán)境配置
使用 Docker Compose 管理多容器應用,創(chuàng)建 docker-compose.yml 文件:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:13
environment:
POSTGRES_DB: myapp
POSTGRES_USER: developer
POSTGRES_PASSWORD: password
結語
無論選擇哪種安裝方式,WSL 與 Docker 的組合都為 Windows 開發(fā)者提供了強大的開發(fā)環(huán)境。對于大多數(shù)用戶,我們強烈推薦方法一(Docker Desktop + WSL 2),它代表了容器化開發(fā)在 Windows 平臺上的最佳實踐。
選擇適合自己工作流程的方案,開始享受高效、一致的容器化開發(fā)體驗吧!
到此這篇關于在WSL中安裝Docker的兩種方法步驟的文章就介紹到這了,更多相關WSL安裝Docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker部署SQL Server 2019 Always On集群的實現(xiàn)
這篇文章主要介紹了Docker部署SQL Server 2019 Always On集群的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04
Docker實現(xiàn)發(fā)布一個springboot項目
文章介紹了使用Docker打包SpringBoot項目的過程,包括基本用法、maven源碼打包法、使用maven插件打包和docker-maven-plugin插件打包,并詳細講述了每種方法的操作步驟和配置細節(jié),最后總結了使用插件打包的優(yōu)勢2026-04-04
docker 使用CMD或者ENTRYPOINT命令同時啟動多個服務
這篇文章主要介紹了docker 使用CMD或者ENTRYPOINT命令同時啟動多個服務,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
使用 docker部署tomcat并接入skywalking的使用
這里主要介紹了使用 docker 部署 tomact 并接入 skywalking 的使用,因為在網(wǎng)上并沒有查到太多相關的信息,所以這里記錄下來,需要對有需求的小伙伴提供一些幫助2021-04-04
Docker?Kill/Pause/Unpause命令使用與區(qū)別小結
本文詳細介紹了Docker中的三個重要命令,kill、pause和unpause,這些命令在管理和操作運行中的容器時非常有用,具有一定的參考價值,感興趣的可以了解一下2024-03-03
docker容器中創(chuàng)建非root用戶的操作方法
用戶分享在Docker容器中創(chuàng)建非root用戶nuser并配置權限的實踐,通過設置密碼、修改sudoers文件實現(xiàn)安全運行,避免使用root用戶操作,適用于部署Stable Diffusion WebUI等場景,本文給大家介紹docker容器中創(chuàng)建非root用戶的操作,感興趣的朋友一起看看吧2025-06-06
使用Docker實現(xiàn)MySQL容器中批量導出所有數(shù)據(jù)庫
在使用 Docker 部署 MySQL 的場景中,經(jīng)常會需要一次性導出容器內(nèi)除系統(tǒng)庫以外的所有數(shù)據(jù)庫,下面小編就和大家介紹一下具體實現(xiàn)方法,有需要的小伙伴可以了解下2025-12-12
手把手教你如何用NAS+Docker搭建WordPress網(wǎng)站
NAS能做的不僅僅是儲存,它還能作為一臺簡單的服務器,完成一些相對簡單的工作,這篇文章主要介紹了如何用NAS+Docker搭建WordPress網(wǎng)站的相關資料,需要的朋友可以參考下2025-12-12

