一篇搞定!Docker Desktop + WSL2 从安装配置到核心应用实战
文章目录1、安装Docker Desktop1.1 访问Docker官网获取安装包1.2 支持命令行安装1.3 首次安装Docker Desktop需要配置WSL环境或者Hyper-V2、WSL needs updating2.1 此处遇到WSL需要更新的警告信息,按照提示进行更新即可。2.2 powershell下执行命令`wsl --install`2.3 WSL更新后重启Docker Desktop2.4 WSL设置与工作页面3、WSL(Windows Subsystem for Linux)3.1 说明3.2 官方文档3.3 查看wsl版本3.4 WSL 版本功能说明3.5 WSL命令4、通过Docker Desktop运行容器5、通过Docker Desktop管理镜像5.1 镜像管理5.2 容器管理5.3 支持AI Models和MCP生态
1、安装Docker Desktop
Docker Desktop 是一个多合一软件包,用于构建镜像、运行容器等等。
Docker Desktop 包括 Docker Compose、Docker Engine 和 Docker CLI组件,对开发者使用Docker环境非常友好。
1.1 访问Docker官网获取安装包
访问docs.docker.top下载Docker Desktop,下载地址为https://docs.docker.top/get-started/introduction/get-docker-desktop/index.htm
下载好安装包后,双击Docker Desktop Installer.exe运行安装程序。默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker。
1.2 支持命令行安装
比如Windows下使用Powershell窗口执行命令Start-Process 'Docker Desktop Installer.exe' -Wait install进行安装。
支持修改安装路径--installation-dir=<path>更改默认安装位置 (C:\Program Files\Docker\Docker)。 PowerShell,需要使用ArgumentList参数
- 示例
Start-Process 'Docker Desktop Installer.exe' -Wait -ArgumentList 'install', '--installation-dir=D:\Docker'
1.3 首次安装Docker Desktop需要配置WSL环境或者Hyper-V
Docker Desktop 的功能在 WSL 和 Hyper-V 上保持一致,对任何架构都没有偏好。Hyper-V 和 WSL 各有优缺点,具体取决于您的特定设置和计划用例。
根据个人电脑环境推荐建议去选择,此处用的是WSL2。
2、WSL needs updating
此处安装 Docker Desktop 后打开提示需要WSL配置
2.1 此处遇到WSL需要更新的警告信息,按照提示进行更新即可。
Your version of Windows Subsystem for Linux (WSL) is too old. Run the command below to update or for more information, visit .the Microsoft WSL documentation
2.2 powershell下执行命令wsl --install
通过Win+R快捷键弹出运行弹窗,输入powershell回车,即可打开 Windows PowerShell,输入命令回车等待安装完成。
2.3 WSL更新后重启Docker Desktop
2.4 WSL设置与工作页面
WSL更新完成后,自动打开了如下欢迎页面。
可以在Win下主动搜索WSL及WSL Settings,如下所示。
3、WSL(Windows Subsystem for Linux)
3.1 说明
适用于 Linux 的 Windows 子系统(WSL)允许开发人员直接在 Windows 上运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),无需传统虚拟机或双启动设置的开销。
3.2 官方文档
https://learn.microsoft.com/zh-cn/windows/wsl/
3.3 查看wsl版本
在powershell窗口输入命令wsl --list --verbose查看
C:\Users\Administrator>wsl --list --verbose NAME STATE VERSION * docker-desktop Running 2 3.4 WSL 版本功能说明
3.5 WSL命令
- 安装命令
wsl --install - 更新命令
wsl --update - 检查状态
wsl --status - 检查版本
wsl --version - 关机
wsl --shutdown - 查询可用的linux分发版
wsl --list --online - 查询已安装的linux分发版
wsl --list --verbose - 设置默认的linux分发版
wsl --set-default <Distribution Name> - 注销或卸载linux分发版
wsl --unregister <DistributionName> - 启动环境
wsl ~ - 从PowerShell或CMD运行特定的linux分发版
wsl --distribution <Distribution Name> --user <User Name> - 返回通过 WSL 2 安装的 Linux 分发版的 IP 地址
wsl hostname -I - 装载磁盘
wsl --mount <DiskPath> - 卸载磁盘
wsl --unmount <DiskPath>
C:\Users\Administrator>wsl -l-v NAME STATE VERSION * docker-desktop Running 2 C:\Users\Administrator>wsl --version WSL 版本: 2.6.2.0 内核版本: 6.6.87.2-1 WSLg 版本: 1.0.71 MSRDC 版本: 1.2.6353 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.26100.1-240331-1435.ge-release Windows: 10.0.19045.6332 C:\Users\Administrator>wsl --status 默认分发: docker-desktop 默认版本: 2 C:\Users\Administrator>wsl --list--online 以下是可安装的有效分发的列表。 使用“wsl.exe --install<Distro>”安装。 NAME FRIENDLY NAME Ubuntu Ubuntu Ubuntu-24.04 Ubuntu 24.04 LTS openSUSE-Tumbleweed openSUSE Tumbleweed openSUSE-Leap-16.0 openSUSE Leap 16.0 SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7 SUSE-Linux-Enterprise-16.0 SUSE Linux Enterprise 16.0 kali-linux Kali Linux Rolling Debian Debian GNU/Linux AlmaLinux-8 AlmaLinux OS 8 AlmaLinux-9 AlmaLinux OS 9 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 AlmaLinux-10 AlmaLinux OS 10 archlinux Arch Linux FedoraLinux-43 Fedora Linux 43 FedoraLinux-42 Fedora Linux 42 Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_10 Oracle Linux 8.10 OracleLinux_9_5 Oracle Linux 9.5 openSUSE-Leap-15.6 openSUSE Leap 15.6 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 4、通过Docker Desktop运行容器
Win+R唤起运行弹窗,输入powershell回车打开命令行窗口
输入命令docker run -d -p 8080:80 docker/welcome-to-docker拉去镜像到本地并通过容器运行。
此处因8080端口占用,所以改为8090端口,拉去镜像后,运行容器。访问localhost:8090如下图所示,说明容器运行成功。
PS C:\Users\Administrator>docker run -d-p8080:80 docker/welcome-to-docker Unable to find image 'docker/welcome-to-docker:latest' locally latest: Pulling from docker/welcome-to-docker 9745203f5d34: Pull complete fd372c3c84a2: Pull complete 828fa206d77b: Pull complete bdaad27fd04a: Pull complete 958a74d6a238: Pull complete c1d2dc189e38: Pull complete 9824c27679d3: Pull complete a5585638209e: Pull complete 1babe895ddff: Download complete Digest: sha256:c4d56c24da4f009ecf8352146b43497fe78953edb4c679b841732beb97e588b0 Status: Downloaded newer image for docker/welcome-to-docker:latest f0aa6e50dd81fe27381040340314a0cd8f3d6a2d43e0d90f5bceb4648fddf10e PS C:\Users\Administrator>docker run -d-p8080:80 docker/welcome-to-docker c7bb3cde31567fc15744c3874b41a0ccf27331de3cad164995023ebb6a9b4d12 docker: Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint youthful_darwin (c984ddce22434a6e2092167d0d71ccb60182ca9dcccefb6138792d1298f92b51): Bind for0.0.0.0:8080 failed: port is already allocated Run 'docker run --help'formore information PS C:\Users\Administrator>docker run -d-p8090:80 docker/welcome-to-docker 7783de463a74800d8cb7479b18926179573b288855a4bdb736ce24ceccaf672b PS C:\Users\Administrator>查看镜像和容器
- 查看镜像
docker image list - 查看容器
docker container list
ps:我说8080端口怎么占用了,上面没仔细看,我同一个镜像分别用8080、8090端口启动了2个容器,呜呜呜
PS C:\Users\Administrator>docker image list i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA docker/welcome-to-docker:latest c4d56c24da4f 22.2MB 6.03MB U mcp/playwright@sha256:53da89d1da3dfbb61c10f707c1713cfee1f870f7fba5334e126c6c765e37db56 53da89d1da3d 1.4GB 397MB PS C:\Users\Administrator>docker container list CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7783de463a74 docker/welcome-to-docker "/docker-entrypoint.…"7 minutes ago Up 7 minutes 0.0.0.0:8090->80/tcp, [::]:8090->80/tcp focused_nash f0aa6e50dd81 docker/welcome-to-docker "/docker-entrypoint.…"8 minutes ago Up 8 minutes 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp vibrant_elion PS C:\Users\Administrator>5、通过Docker Desktop管理镜像
Docker Desktop 通过简化不同环境中应用程序的设置、配置和兼容性,简化了容器管理。
支持交互页面往往比仅支持命令窗口交互更友好,对于前期学习者来说。
5.1 镜像管理
可以通过页面直接管理镜像、容器、存储卷,调整K8s、大模型、Mcp等配置。
打开Docker Desktop主页面,点击Images发现docker/welcome-to-docker镜像在本地为运行状态。
有2个容器是运行状态,对应上面创建的8080和8090端口的服务。
5.2 容器管理
- 点击容器,可以查看容器运行logs日志
- 点击Exec,可以进入容器shell
- 点击Inspect,可以获取有关容器的详细信息。
可以执行各种操作,例如暂停、恢复、启动或停止容器,或者浏览日志、绑定挂载、Exec、文件和统计信息选项卡。
5.3 支持AI Models和MCP生态
很久没有使用Docker Desktop,本次重新使用,发现已经把AI Models和MCP生态接入进来了,期待接下来的体验。
Powered By niaonao
WSL文档 https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers
Docker Desktop简介 https://docs.docker.top/get-started/introduction/get-docker-desktop/index.htm