[控场AI]
· 5 分钟阅读· 2,846 字

Dify部署实录:Docker+MySQL+模型接入全流程

Dify部署实录:Docker+MySQL+模型接入全流程

Windows+Docker 本地部署 Dify 的完整路线与关键决策点。

本文基于 B 站 UP 主的教程,复述了在 Windows 上通过 Docker 本地部署 Dify 的完整流程,并补充了关键决策点和易踩坑细节。文章解释了选择本地 Docker 部署的原因——可直接访问本机 MySQL 和虚拟机服务,避免在线版的内网穿透麻烦;详细说明了 MySQL 8 安装在 Windows 宿主机的逻辑及替代方案;强调了 Dify 连接 MySQL 时的配置要点,尤其是 Docker 网络中的宿主机地址不能写 localhost。此外,文章梳理了 Dify 的五类核心应用(聊天助手、文本生成、Agent 智能体、Chatflow、Workflow)及其区别,给出模型接入建议(优先付费 API,本地 Ollama 小模型效果有限但大参数模型可作企业级备选),并覆盖了应用发布与公网访问的内网穿透需求。

Dify 是当下热门的 AI 应用开发平台,它让没有深厚工程背景的用户也能快速搭建聊天助手、文本生成、Agent 智能体以及工作流应用。但很多新手卡在第一步:怎么把 Dify 跑起来?B 站 UP 主的这期部署教程给出了一个清晰的 Windows + Docker 路线,本文在复述流程的同时,补充关键决策点和容易踩坑的细节。

为什么选择本地 Docker 部署

UP 主明确提到,Dify 有三种使用方式:官方在线版、源码部署、以及基于 Docker 的本地部署。在线版开箱即用,但当你的 AI 应用需要访问本机数据库或本地环境时,就得做内网穿透把本机 IP 暴露到公网,配置成本反而更高。

本地 Docker 部署的优势在于:Dify 运行在 Docker 网络中,可以直接与本机 Windows 上的 MySQL 通信,也可以连通 VMware 虚拟机里的服务。这意味着你构建的应用能无缝读写本地数据,调试链路更短。UP 主也提醒,生产环境建议自行部署到公司内网,方便内部应用调用。

Dify 本地打开界面

Docker 网络与宿主机通信:Docker 容器默认运行在独立的虚拟网络中,容器内的 localhost 指向容器自身,而非 Windows 宿主机。因此,当 Dify 容器需要访问宿主机上的 MySQL 时,不能使用 localhost 或 127.0.0.1,而应使用宿主机在 Docker 网络中的特殊域名 host.docker.internal(Docker Desktop for Windows 默认支持),或直接使用宿主机的局域网 IP。理解这一点是后续数据库配置不踩坑的关键。

MySQL 8 在 Windows 上的安装逻辑

教程专门用一节讲 MySQL 8 的 Windows 安装,原因很直接:后续在 Dify 里构建的 AI 应用需要和数据库打交道,读取数据、写入结果。把 MySQL 装在 Windows 宿主机上,Docker 里的 Dify 就能通过网络访问它。

UP 主也给出了替代方案:MySQL 可以基于 Docker 部署,或者放在 VMware 虚拟机里,Dify 的 Docker 网络都能连通。这给了用户根据现有环境灵活选择的余地,不必死守一种安装方式。

MySQL 安装到 Windows 的原因

MySQL 8 的认证插件变化:MySQL 8 默认使用 caching_sha2_password 作为身份验证插件,而部分旧客户端或驱动可能仍依赖 mysql_native_password。若 Dify 连接 MySQL 时遇到认证失败,可在 MySQL 中为对应用户执行 ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; 并刷新权限。此外,需确保 MySQL 允许远程连接(修改 bind-address 并授权用户从任意主机访问),否则 Docker 容器无法连通。

Dify 连接 MySQL 的配置要点

部署完 Dify 和 MySQL 之后,关键一步是让 Dify 认识你的数据库。教程将“Dify 连接 MySQL 的配置”单独列出,因为后续所有涉及数据交互的 AI 应用都依赖这条连接。配置本身不复杂,但需要准确填写主机地址、端口、账号密码和数据库名,尤其注意 Docker 网络中的宿主机地址不能直接写 localhost。

五类核心应用与工作流节点

Dify 创建应用时提供五种类型:聊天助手、文本生成、Agent 智能体、Chatflow 和 Workflow。UP 主用一句话点明了区别:聊天助手和文本生成是基础交互;Agent 智能体可以调用工具完成多步指令,比如先爬取网页再分析;Chatflow 和 Workflow 都属于工作流,前者支持对话式交互,后者是一次性输入输出。

工作流由节点构成,教程会逐一讲解常用节点并配备十几个案例。UP 主强调,这些节点几乎覆盖了 Dify 官网提供的大部分节点,学完就能应对多数搭建场景。

工作流是 Dify 的重要应用

Agent 智能体与工作流的区别:Agent 智能体基于大模型的推理能力,能自主决定调用哪些工具(如搜索、计算、API),适合开放式、多步骤任务;而工作流(Chatflow/Workflow)由开发者预先编排节点顺序,执行路径确定,适合流程固定、需要精确控制的场景。两者可以结合使用——在工作流中嵌入 Agent 节点,兼顾灵活性与可控性。

模型接入:付费 API 还是本地 Ollama

接入大模型是绕不开的环节。UP 主建议优先使用付费 API,如 DeepSeek广告、ChatGPT,或者利用百度文心一言、阿里通义千问广告提供的免费 token。他算了一笔账:DeepSeek 充值十元能用很久,实际消耗不到一元。

本机 Ollama 模型不是首选,因为本地小模型效果通常不理想。但如果机器性能足够,或者企业有集群部署的 Ollama,下载大参数模型(如 DeepSeek 开源的大模型,体积可达四百多 G)也能接入 Dify 构建企业级应用。教程最后会专门演示 Dify 关联 Ollama 本地模型的案例。

DeepSeek 充值使用情况

Ollama 的定位与接入方式:Ollama 是一个本地大模型运行工具,支持一键下载和运行 Llama、DeepSeek 等开源模型。在 Dify 中接入 Ollama 时,需在模型供应商设置中填写 Ollama 服务的 API 地址(默认为 http://host.docker.internal:11434),并确保 Ollama 允许跨域请求(设置环境变量 OLLAMA_HOST=0.0.0.0)。本地模型无需网络和 API 费用,但推理速度与效果取决于硬件配置,适合对数据隐私要求高或需要离线运行的场景。

应用发布:从本地到公网

构建好的应用不局限于 Dify 内部使用。教程覆盖了应用发布环节:可以生成公开 Web 站点链接供他人访问,也可以嵌入到自己开发的网站或第三方平台。公网发布同样涉及内网穿透,这是本地部署走向外部可用的必要一步。

整期课程围绕“部署—连接—使用—发布”展开,对新手来说,跟着走一遍就能把 Dify 的基础链路跑通。

#Dify部署#Docker部署Dify#Dify连接MySQL#Dify模型接入#Ollama Dify#AI应用开发平台#Dify工作流
分享:

相关推荐