在前两篇文章中,我们已经确立了本地逻辑引擎结合云端大模型的技术架构,并且准备好了云端大模型的 API Key。现在我们要开始着手搭建本地的运行地基。

我们所有的本地逻辑引擎,无论是负责业务编排的 Dify 还是负责自动化连接的 n8n,都将运行在 Docker 容器中。

对于大家来说,Docker 这个名词绝对不陌生。但在 2026 年当下的国内网络环境中,想要在个人电脑上顺畅地把 Docker 跑起来,并且能够稳定地拉取到动辄几个 GB 的大模型应用镜像,并不是一件点击下一步就能轻松搞定的事。

很多时候你兴致勃勃地敲下拉取命令,结果进度条卡在 0% 一动不动,或者容器运行了一半因为内存溢出而崩溃。

本篇文章不仅会教你安装 Docker Desktop,更重要的是解决网络与镜像源的最后一公里问题,以及如何针对 Dify 这种重型应用进行资源调优。我们这样做不仅仅是为了装一个软件,而是为了给未来的 AI 应用工厂打下一个稳如泰山的地基。

一、 为什么 Docker Desktop 是 2026 年的最佳选择

在 Linux 服务器上我们习惯直接使用命令行安装 Docker Engine。但在个人电脑 Windows 或 Mac 上,我强烈推荐使用 Docker Desktop。这不仅仅是因为它有一个可视化的界面,更是因为它解决了跨平台运行 Linux 容器的底层兼容性问题。

我们知道 Dify 和 n8n 的官方镜像都是基于 Linux 构建的。要想在 Windows 或 macOS 的内核上运行这些镜像,必须通过一层虚拟化技术。

对于 Windows 用户来说,早期的 Docker 依赖于 Hyper-V 虚拟机。那种方式不仅启动慢,而且会独占系统资源,甚至导致你无法同时运行安卓模拟器。而现在的 Docker Desktop 已经全面拥抱了 WSL 2 也就是 Windows Subsystem for Linux 2。这是微软推出的第二代 Linux 子系统。它拥有完整的 Linux 内核,但又能与 Windows 系统无缝集成。Docker Desktop 利用 WSL 2 作为后端,可以在极低的资源损耗下运行 Linux 容器,并且实现了文件系统的秒级互通。

对于 Mac 用户来说,尤其是使用 M 系列芯片 的用户,Docker Desktop 针对 Apple Silicon 架构做了深度的优化。它利用 macOS 的 Virtualization Framework 提供了高效的虚拟化支持,并且通过 Rosetta 2 技术实现了对 x86 架构镜像的转译运行。这意味着即使某些 AI 组件只有 Intel 版本的镜像,你依然可以在你的 M 芯片上把它们跑起来。

更重要的一点是可视化管理。Dify 是一个微服务架构的应用,它包含 API 服务、Worker 任务队列、Redis 缓存、Postgres 数据库、向量数据库等多个容器。如果纯靠命令行去管理这些容器的状态,查看它们的日志,调试其中的网络连接,会非常繁琐。

Docker Desktop 提供了一个直观的 Dashboard。你可以直接看到哪个容器挂了,可以直接进入容器内部的文件系统,甚至可以直接点击查看实时滚动的日志流。这对于我们后续调试 AI 工作流的中间状态有着极大的帮助。

二、 Windows 系统的深度安装与 WSL 2 配置

Windows 用户请注意,安装 Docker Desktop 的核心其实是配置好 WSL 2 环境。很多安装失败的案例都是因为系统底层的虚拟化设置没有打开。

1 检查并开启硬件虚拟化支持

在开始下载安装包之前,我们必须先确认 BIOS 设置是否正确。请按下键盘上的 Ctrl + Shift + Esc 打开任务管理器,切换到 性能 标签页,然后点击 CPU 一栏。

在右下角的信息区域,仔细查找 虚拟化 这一项。它必须显示为 已启用。如果这里显示的是 已禁用,那么无论你怎么安装软件都会报错。你需要重启电脑,在开机时按下 Del 或 F2 键进入 BIOS 设置,找到 Intel VT-x 或 AMD-V 选项并将它们开启。保存设置并重启电脑后,再次回到任务管理器确认。

2 安装并更新 WSL 2 组件

虽然现在的 Windows 10 和 Windows 11 通常已经内置了 WSL 基础组件,但为了保证兼容性,建议手动执行一次更新。请右键点击开始菜单,选择 Windows PowerShell (管理员)终端 (管理员)

在蓝色的命令行窗口中输入以下命令并回车。

wsl --update

这条命令会连接到微软服务器,将 WSL 的内核组件更新到最新版本。更新完成后,为了确保 WSL 2 是默认版本,请继续输入以下命令。

wsl --set-default-version 2

如果你的系统提示命令不存在,说明你的 Windows 版本过旧,请先运行 Windows Update 进行系统更新。安装完 WSL 组件后,通常需要重启一次电脑让内核生效。

3 下载安装与配置集成

前往 Docker 官网下载适用于 Windows 的 Docker Desktop 安装包。在安装向导中,你会看到一个关键的选项 Use WSL 2 instead of Hyper-V。请务必勾选这一项。这正是我们前面所说的利用新一代子系统技术的关键。

安装完成后启动 Docker Desktop。初次启动可能需要几分钟时间进行初始化。当任务栏右下角的小鲸鱼图标停止闪烁并变成稳定的背景色时,说明 Docker 服务已经就绪。

此时我们需要做一步额外的配置。在 Docker Desktop 主界面点击右上角的齿轮图标进入设置,选择 Resources 然后点击 WSL integration。在这里你会看到你系统中已安装的 WSL 发行版列表,比如 Ubuntu。请确保你要使用的发行版前面的开关是打开的。我们这样做之后,在 Ubuntu 的命令行里就可以直接使用 docker 命令了,这实现了 Windows 与 Linux 环境的完美打通。

三、 Mac 系统的架构选择与权限管理

Mac 用户的安装过程相对简单,但核心在于选对架构版本以及处理好 macOS 严格的权限管理。

1 芯片架构的严格区分

在 Docker 官网下载页面,你会看到两个明显的下载按钮。一个是 Apple Chip,另一个是 Intel Chip

请务必确认你的电脑芯片型号。点击屏幕左上角的苹果图标,选择 关于本机。如果芯片一栏写着 Apple M1 M2 或 M3,请下载 Apple Chip 版本。如果写着 Intel Core i7 或 i9,请下载 Intel Chip 版本。

如果你是 M 系列芯片却错误安装了 Intel 版本,Docker 虽然可能勉强启动,但在运行过程中会出现严重的性能损耗,甚至在构建镜像时频繁报错。这是因为底层的指令集转换出现了严重的开销。

2 拖拽安装与初次运行

下载好 .dmg 文件后,双击打开,将 Docker 图标拖入 Applications 文件夹。这与其他 Mac 软件安装无异。

但在首次启动时,Mac 系统会弹出一系列的权限请求窗口。这包括是否允许 Docker 访问网络,是否允许 Docker 修改系统网络配置,以及是否允许 Docker 访问特定的文件目录。

请务必全部点击 允许。Docker 需要在你的 Mac 上建立虚拟网桥,以便容器之间可以互相通信。它还需要挂载你的文件系统,以便 Dify 可以将知识库数据持久化保存到你的硬盘上。如果你在这一步拒绝了某个权限,后续运行容器时可能会遇到 Mounts denied 或者 Network unreachable 的错误。

3 开启 Rosetta 模拟支持

对于 M 系列芯片的用户,还有一个关键设置。在 Docker Desktop 的设置中,找到 General 选项卡。这里有一个选项叫做 Use Rosetta for x86/amd64 emulation on Apple Silicon

建议勾选这一项。虽然大部分主流镜像都已经有了 ARM64 版本,但在 AI 领域,依然有一些老旧的组件或者特定的数据库插件只有 x86 架构的镜像。勾选这个选项后,Docker 会利用苹果的 Rosetta 2 技术在运行时动态转译这些镜像,确保它们能在你的 M 芯片电脑上跑起来。我们这样做就最大程度地保证了软件生态的兼容性。

四、 核心痛点解决 国内镜像源的深度配置

由于众所周知的网络原因,国内直接访问 Docker Hub 的速度极其不稳定。Dify 的相关镜像加起来有好几个 GB,如果依靠默认的官方源,你可能下载一整天都无法完成,甚至会因为连接超时导致安装失败。

我们需要配置 Registry Mirrors 也就是镜像加速器。

1 镜像源的工作原理

当你执行 docker pull langgenius/dify-api 命令时,Docker 守护进程会首先尝试连接你在配置文件中指定的第一个镜像源。如果连接成功,它会从这个镜像源下载数据。如果连接超时,它会尝试第二个。如果所有配置的镜像源都无法连接,它才会尝试连接官方的 Docker Hub。

因此,我们的策略是配置一组在国内目前可用性较高的镜像源地址,通过增加候补名单来提高拉取的成功率。

2 配置文件的修改方法

请打开 Docker Desktop 主界面,点击右上角的齿轮图标进入 Settings。在左侧菜单栏选择 Docker Engine

右侧会出现一个 JSON 格式的文本编辑框。这里存储的是 Docker 守护进程的核心配置。默认情况下它可能只有几行。我们需要找到或者手动添加 registry-mirrors 这个字段。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://noohub.ru"
  ]
}

这些地址是经过筛选的目前在国内访问速度尚可的代理源。需要提醒的是,镜像源的可用性是动态变化的。如果某天你发现拉取速度变慢了,可能需要去技术社区搜索最新的可用源地址并替换这里的内容。

3 验证镜像源是否生效的硬核方法

很多教程只教你配置,不教你验证。配置完成后,点击右下角的 Apply & restart 按钮。Docker 会重启服务以加载新的配置。

等待 Docker 重启变绿后,我们不要急着去拉镜像。打开你的终端或命令行,输入以下命令。

docker info

这条命令会输出 Docker 环境的详细信息。请在输出的大量文本中向下滚动,寻找 Registry Mirrors 这一段。

如果你看到了你刚才配置的那几个 URL 地址整齐地列在那里,说明配置已经成功写入了内存。如果你没看到,或者报错提示无法连接 Docker Daemon,那说明你的 JSON 格式可能写错了,或者 Docker 服务没有正常重启。

此外,你还可以尝试拉取一个小的测试镜像来直观感受速度。

docker pull alpine

Alpine 是一个非常小的 Linux 基础镜像,只有几兆大小。如果它能在几秒钟内下载完成,说明你的网络通道已经打通。如果它卡住了,建议你检查本地是否开启了全局 VPN 代理。Docker 的网络流量有时不会自动走系统的 VPN 通道,这需要通过专门的代理配置来解决,但通常配置好镜像源已经足够应对大部分情况。

五、 进阶配置 为 Dify 预留充足的系统资源

Docker Desktop 默认分配的资源对于运行 Hello World 足够了,但对于运行 Dify 这种包含向量数据库和大量中间件的 AI 应用来说,往往是捉襟见肘的。

如果不进行资源调优,你可能会在后续的使用中遇到以下问题。

Dify 启动后 web 界面打不开。

向量数据库 Weaviate 或 Milvus 频繁崩溃,日志显示 Exit Code 137。这是典型的 OOM 内存溢出错误。

知识库切片速度极慢,CPU 占用率长期 100%。

为了避免这些坑,我们需要提前调整资源配额。

1 调整 CPU 和内存配额

在 Docker Desktop 的设置中,找到 Resources 选项卡。

CPU 分配

建议至少分配 2 vCPU。如果有条件,分配 4 vCPU 会让 Dify 的响应速度有质的飞跃。

Memory 内存分配

这是最关键的指标。Dify 的全套组件启动后,空载状态下就需要占用约 2GB 到 3GB 的内存。如果你要上传大量文档进行 RAG 索引,内存消耗会瞬间飙升。

建议至少分配 4 GB 给 Docker。如果你的电脑内存有 16GB 或以上,强烈建议分配 8 GB

如果你的电脑总内存只有 8GB,那么分配 4GB 给 Docker 已经是极限。这种情况下,使用 Dify 时请尽量关闭 Chrome 浏览器等吃内存的大户,否则电脑会卡顿严重。

Swap 交换空间

Swap 是当物理内存不足时,利用硬盘空间模拟的虚拟内存。建议将 Swap 设置为 2 GB 或更高。这可以作为最后一道防线,防止容器因为瞬间内存不足而被系统强制杀掉。

2 调整磁盘镜像存储位置

Docker 的镜像和容器数据都会存储在一个虚拟磁盘文件中。在 Windows 上是 ext4.vhdx,在 Mac 上是 Docker.raw。随着你拉取的镜像越来越多,以及上传到 Dify 的知识库文件越来越多,这个文件会迅速膨胀到几十 GB。

默认情况下,Windows 会把它存在 C 盘,Mac 会把它存在系统盘。如果你的系统盘空间告急,建议尽早迁移这个文件的位置。

Resources -> Disk image location 中,你可以选择将数据迁移到其他空间更大的盘符。你看,我们这样做之后,就再也不用担心因为 Dify 存了太多文档而把 C 盘撑爆了。

六、 常用命令与环境清理技巧

在搭建好环境后,为了让你像个老手一样管理 Docker,这里补充几个常用的维护命令。这些命令在后续的实战中会反复用到。

1 查看运行中的容器

docker ps

这条命令会列出所有正在运行的容器。如果加上 -a 参数,即 docker ps -a,则会列出包括已经停止的所有容器。当你发现 Dify 的网页打不开时,先敲这个命令看看相关容器的状态是不是 Up

2 查看容器日志

docker logs -f <容器ID或名称>

当容器启动失败时,我们需要看报错信息。加上 -f 参数可以像看电视直播一样实时滚动查看最新的日志输出。这对于排查 API 接口报错非常有用。

3 清理垃圾空间

docker system prune

随着使用时间的推移,你的电脑里会堆积很多不再使用的旧镜像、停止的容器和无用的构建缓存。定期执行这条命令,它可以帮你释放出几个 GB 甚至几十 GB 的硬盘空间。但在执行前请确认你确实不需要那些停止的容器了。

4 重启 Docker 服务

有时候遇到奇奇怪怪的网络问题,或者配置修改不生效,最简单的办法就是重启 Docker Desktop。在图形界面右上角点击甲虫图标,选择 Restart Docker。这通常能解决 90% 的玄学问题。

七、 总结

至此,我们已经完成了本地 AI 工厂的所有基础设施建设。

你现在拥有了一个配置了高性能 WSL 2 或虚拟化框架的 Docker 环境。

你配置了针对国内网络优化的镜像加速源,打通了获取 AI 组件的生命通道。

你对 Docker 进行了资源扩容,为运行企业级的 Dify 应用预留了充足的算力和内存。

这套环境不仅能运行 Dify 和 n8n,它实际上已经让你的电脑具备了运行任何云原生应用的能力。无论是 Redis 数据库,还是 Nginx 服务器,亦或是本地版的向量数据库,你都可以通过一条 docker run 命令轻松驾驭。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐