Docker Desktop 与 WSL 2 集成:如何理解与使用
一、Docker Desktop 与 WSL 2 集成的基础概念
在现代开发中,容器化技术已经成为一种标准,特别是在微服务架构的开发中。对于 Windows 用户来说,Docker Desktop 提供了一个理想的环境,使得我们可以在 Windows 上轻松运行 Docker 容器,而无需切换到 Linux 环境。Docker Desktop 利用 WSL 2(Windows Subsystem for Linux 版本 2)来支持 Linux 容器的运行,使得 Windows 用户能够享受几乎与 Linux 相同的开发体验。
二、Docker Desktop:WSL 2 集成的工作原理
Docker Desktop 在安装后,依赖于 WSL 2 提供的虚拟化技术。WSL 2 是一个轻量级的虚拟机,可以在 Windows 上运行完整的 Linux 内核。而 Docker Desktop 会将容器运行时放置在一个名为 docker-desktop 的专用 WSL 发行版中。
docker-desktop 是什么?
docker-desktop 是 Docker 为了能够在 WSL 2 环境中运行容器而创建的专用 WSL 发行版。
它并不是一个完整的 Linux 发行版,而是 Docker 用来运行容器和 Docker 引擎的隔离环境。换句
为什么不需要 Ubuntu 或其他 Linux 发行版?
当你安装 Docker Desktop 时,它会自动创建一个专门的 docker-desktop 环境,这个环境的主要目的是让 Docker 引擎能够在 WSL 2 中运行。因此,docker-desktop 不需要一个完整的 Linux 用户环境,你不需要额外安装如 Ubuntu 等 Linux 发行版来运行 Docker 容器。
通过这种方式,Docker 将容器化技术和 Linux 环境的需求与 Windows 系统相结合。只要 Docker Desktop 和 WSL 2 正常工作,你就可以直接在 Windows 上运行 Linux 容器。
三、如何使用 Docker Desktop 和 WSL 2 开发容器化应用
1. 安装 Docker Desktop
如果你还没有安装 Docker Desktop,可以按照以下步骤安装:
1. 下载 Docker Desktop:从 Docker 官方网站 下载适合 Windows 的 Docker Desktop 安装包。
2. 安装并启用 WSL 2
在 Docker Desktop 安装过程中,确保选择启用 WSL 2 后端支持。安装完成后,Docker Desktop 会自动配置 WSL 2 环境,并启用 docker-desktop 作为默认的 Docker 引擎运行环境。出现下图界面就说明安装完成,点“Close”关闭安装界面。
安装完成后启动 Docker Desktop ,双击桌面上的Docker Desktop快捷方式图标
出现running则启动成功
过程中可能会出现的问题
1、Docker Desktop -WSL update failed Docker Desktop 和 WSL 更新失败的问题
见写文章-CSDN创作中心
2、Docker Engine stopped
可参考https://blog.csdn.net/cplvfx/article/details/138033592
3. 配置 Docker Desktop 与 WSL 2 集成
安装并启动 Docker Desktop 后,你需要在 Docker Desktop 设置中启用 WSL 2 集成:
1. 打开 Docker Desktop,点击右上角的 Settings(设置)。
2. 进入 Resources > WSL Integration,启用 docker-desktop 的 WSL 2 集成。
3. 你也可以选择启用其他已安装的 WSL 发行版(如 Ubuntu)以便在 Docker 中运行容器。

4. 使用 Docker 命令创建和管理 Docker 容器
一旦 Docker Desktop 安装并与 WSL 2 集成,你可以在任何支持的终端(例如 PowerShell 或 WSL 终端)中使用 Docker 命令。
你可以使用 Docker 来容器化应用,并在 docker-desktop 环境中运行它们。例如,假设你正在开发一个简单的 Node.js 微服务,你可以使用以下命令创建一个 Docker 容器:
Dockerfile 示例:
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]
构建 Docker 镜像:
docker build -t node-microservice .
运行 Docker 容器:
docker run -p 3000:3000 node-microservice
这将启动你的应用并将其暴露在 3000 端口,你可以在浏览器中访问它。
5. 在 Docker 容器中连接 MongoDB
如果你的应用需要数据库支持,你可以使用 Docker 启动一个 MongoDB 容器。运行以下命令启动 MongoDB 容器:
docker run --name mongodb -d -p 27017:27017 mongo
然后,你可以在 Node.js 应用中使用 Mongoose 连接到 MongoDB 数据库。
四、MongoDB Compass 安装与使用
如果你想要图形化管理你的 MongoDB 数据库,MongoDB Compass 是一个非常有用的工具,它提供了一个易于使用的界面,让你能够直观地查看和操作 MongoDB 数据。
1. 安装 MongoDB Compass
1. 下载 MongoDB Compass:从 MongoDB 官方网站 下载适用于 Windows 的 MongoDB Compass 安装包。
2. 安装 MongoDB Compass:运行下载的安装包并按照提示完成安装。
2. 连接到 Docker 中的 MongoDB
安装 MongoDB Compass 后,你可以通过它连接到在 Docker 中运行的 MongoDB 实例:
1. 打开 MongoDB Compass。
2. 在连接窗口中,输入以下连接字符串:mongodb://localhost:37017
3. 点击 Connect,MongoDB Compass 将连接到你的 MongoDB 容器,并显示所有的数据库。
3. 使用 MongoDB Compass 管理数据库
一旦连接成功,你可以使用 MongoDB Compass 进行以下操作:
查看所有数据库和集合。
创建、修改或删除数据库和集合。
执行数据库查询。
可视化数据以进行分析。
五、总结
Docker Desktop 和 WSL 2 提供了一个强大的开发环境,能够让你在 Windows 上无缝地运行 Linux 容器。Docker Desktop 通过创建一个专用的 docker-desktop WSL 2 发行版,让你能够在 Windows 上使用 Docker 来容器化应用,而不需要额外的 Linux 发行版如 Ubuntu。
MongoDB Compass 提供了一个图形化界面,让你能够轻松地管理和操作 MongoDB 数据库,无论是本地运行的 MongoDB,还是通过 Docker 容器运行的 MongoDB。
通过这种集成,你不仅能享受 Docker 容器化技术带来的便利,还能最大限度地提高开发效率,确保开发和生产环境的一致性。无论是在微服务架构的开发,还是在容器化应用的部署中,Docker Desktop、WSL 2 和 MongoDB Compass 都是不可或缺的工具。
如果你已经安装了 Docker Desktop 并且可以看到docker-desktop,那么你已经成功开启了一个强大的容器化开发环境。接下来,你可以开始创建、管理和部署你的容器化应用,享受 Docker 和 WSL 2 带来的高效开发体验。
希望这篇博客能够帮助你理解 Docker Desktop 与 WSL 2 的集成方式,以及如何在开发中使用 MongoDB Compass 管理数据库。如果有任何问题,欢迎留言讨论!