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

