
一、Docker Desktop下载安装1、基础环境win10 64位CPU 64位 支持Intel VT-x / ADM-V 虚拟化在BIOS开启虚拟化2、检查是否支持虚拟化打开任务管理器 - 性能 - CPU查看虚拟化是否启用显示“已禁用”需要重启电脑进入BIOS开启虚拟化。3、开启BIOS 虚拟化Intel 叫VT-x / VMXAMD 叫SVM Mode / AMD-V进 BIOS → 找到开关改 Enabled → F10 保存。①进 BIOS 的快捷键开机画面狂按在Logo 出来前按组装机/华硕主板Del 或 F2微星 MSIDel技嘉 GigabyteDel联想笔记本/台式F2 或 FnF2部分商用机 F1戴尔 DellF2惠普 HPF10 或 Esc宏碁 AcerF2 / Del②BIOS 里开关在哪按菜单找关键词规律在 Advanced高级 或 Security安全 或 Configuration 下Intel 机Intel Virtualization Technology / Intel VT-x / VMX / VT-dAMD 机SVM Mode / Secure Virtual Machine / AMD-V4、开启WSL支持WSL Windows Subsystem for LinuxWindows 的 Linux 子系统作用让你不用装虚拟机、不用双系统在 Windows 里直接跑完整的 Linux 环境。Docker 必须依赖它才能在 Windows 上正常运行。有两种安装方式一种是在Powershell以管理员安装WSL服务一种是在“控制面板-程序-启用或关闭Windows服务”中启动“适用于Linux的Windows子系统”和“虚拟机平台”。第一种方法在Powershell以管理员身份运行如下命令wsl --install重启之后再运行一遍如下所示说明虚拟化已开启检查wsl是否安装成功输入以下命令wsl --list --verbose第二种方法开启两项服务5、下载/安装/配置Docker Desktop教程1、官网地址https://www.docker.com/products/docker-desktop/2、双击安装①Per-user installation (Recommended)即“当前用户安装”。明确使用了WSL 2 backend这正是咱们前面辛苦搭建好的环境而且不需要管理员权限完全能满足本地跑 Dify 和 Ollama 的需求是最简单、最不容易报错的选择。②安装完成③检查Docker安装在Powershell中输入以下命令docker --version④检查容器输入以下命令可以看到Hello from Dockerdocker run hello-world⑤双击打开Docker可以在左下角看到Engine running6、优化wsl存储、配置镜像①在“settings - resources - advanced”中将Disk image location的存储路径修改到非系统盘点击 applyrestart②配置镜像在“settings - Docker Engine”中设置如下json{ registry-mirrors: [ https://registry.docker-cn.com, http://hub-mirror.c.163.com, https://docker.mirrors.ustc.edu.cn, https://cr.console.aliyun.com, https://mirror.ccs.tencentyun.com ], builder: { gc: { defaultKeepStorage: 20GB, enabled: true } }, experimental: false } ------------------------------------------------------ 不行的话将上面registry-mirrors换成 registry-mirrors: [ https://docker.1panelproxy.com, https://docker.m.daocloud.io, https://docker.registry.cyou, https://docker.jsdelivr.fyi, https://docker.m.daocloud.io, https://docker.nju.edu.cn, https://docker.mirrors.sjtug.sjtu.edu.cn, https://docker.mirrors.ustc.edu.cn, https://docker.rainbond.cc, https://dockerhub.icu, https://docker-cf.registry.cyou, https://dockercf.jsdelivr.fyi, https://dockertest.jsdelivr.fyi, https://dockerproxy.com, https://mirror.baidubce.com, https://mirror.iscas.ac.cn, https://mirror.aliyuncs.com, https://hub-mirror.c.163.com, https://your_preferred_mirror, https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com ] 这个是另一个博主原文链接https://blog.csdn.net/xin_yao_xin/article/details/159434653如图所示7、常用命令Docker 基础命令启动/停止、查看# 查看版本 docker --version docker-compose --version # 查看运行容器 docker ps # 测试hello-world docker run hello-world # 启动/停止Docker # 桌面点图标启停Docker有关镜像image命令# 一、搜索镜像 # 从 Docker Hub 搜索镜像 docker search 镜像名 # 示例搜索 Nginx 镜像 docker search nginx # 二、下载镜像软件程序、安装包 # 格式docker pull 镜像名[:标签]默认 latest 最新版 docker pull 镜像名 # 示例 1下载最新版 Nginx docker pull nginx # 示例 2下载指定版本 MySQL 8.0 docker pull mysql:8.0 # 三、查看本地镜像 docker images # 或简写 docker image ls # 四、删除镜像 # 格式docker rmi 镜像ID / 镜像名 docker rmi 镜像名/镜像ID # 示例 1按名称删除 Nginx docker rmi nginx # 示例 2按 ID 删除镜像ID 只需输入前 3 位即可 docker rmi a1b # 五、待补充Docker 有关容器Container命令# 一、基础核心命令 docker run [参数] 镜像名 # 常用参数 # -d 后台运行 # -p 宿主机端口:容器端口 端口映射 # --name 给容器起名字 # -v 宿主机目录:容器目录 数据挂载数据持久化 # -e 设置环境变量如密码 # --restartalways 开机自启 # 示例如下---------------------------------------------------------------- # 示例 1启动 Nginx后台运行 端口映射 docker run -d -p 80:80 --name mynginx nginx # 示例 2启动 MySQL 8.0设置密码 数据持久化 自启 docker run -d \ -p 3306:3306 \ --name mysql80 \ -e MYSQL_ROOT_PASSWORDroot123 \ -v /mydata/mysql:/var/lib/mysql \ --restartalways \ mysql:8.0 # 示例 3启动 Redis带密码 docker run -d -p 6379:6379 --name myredis redis redis-server --requirepass 123456 # 二、查看容器 # 查看正在运行的容器 docker ps # 查看所有容器包括停止的 docker ps -a # 查看容器资源占用CPU、内存 docker stats # 三、启动/停止容器 # 停止容器 docker stop 容器名/ID # 启动已停止的容器 docker start 容器名/ID # 重启容器 docker restart 容器名/ID # 示例停止 mynginx docker stop mynginx # 四、删除容器 # 删除已停止的容器 docker rm 容器名/ID # 强制删除运行中的容器不推荐 docker rm -f 容器名/ID # 示例删除 mynginx docker rm mynginx二、Dify下载安装1、简介Dify 是一个用于构建 AI 应用的开源平台。可以创建 Agent、Agentic 工作流和聊天机器人让它们利用你自己的数据并发布为 Web 应用或通过 API 集成。Dify 是一款开源的大模型应用开发 / 运营平台LLMOps零代码 / 低代码快速搭建企业级 AI 应用支持对话机器人、RAG 知识库、工作流、智能 Agent 等场景开箱即用。学习文档Dify 文档 - Dify Docs2、安装要求采用本地自部署方式官方提示要求如下3、下载源码https://github.com/langgenius/dify下载界面如下所示右侧选择版本release将源码下载到本地4、使用Docker的compose启动# 在cmd中 cd docker #进入docker相关目录 cp .env.example .env #复制.env.example并重命名为.env但Windows环境下得手动直接复制粘贴 docker compose up -d #执行docker命令①在cmd中进入对应目录下Windows环境cp命令用不了直接找到.env.example文件复制一个.env文件如下所示②执行docker compose up -d来管理容器docker compose用来管理多个容器的工具以前叫 docker-compose现在集成在 docker 命令里。1up根据 docker-compose.yml 文件创建网络创建/拉取镜像创建并启动容器2-ddetached 模式后台运行不占用当前终端。如果不加 -d日志会直接刷在终端。运行后如图所示一定要配置镜像很容易拉取不到12 个核心组件镜像共同构成了一个完整的 AI 应用服务Dify核心业务服务LangGenius 官方镜像langgenius/dify-web前端可视化控制台。基于 Next.js提供应用编排、Prompt 编辑、知识库管理、插件配置等页面 UIlanggenius/dify-api后端核心 API 服务。基于 Python/Flask负责处理对话请求、模型调用、知识库检索、工作流执行等核心业务逻辑langgenius/dify-agent-backend智能代理Agent后端服务。负责 Agent 的会话管理、工具调用编排以及 LLM 请求的路由调度langgenius/dify-plugin-daemon插件守护进程。负责管理 Dify 插件的生命周期如安装、更新、卸载并作为插件任务的执行运行时让 AI 应用能够调用外部工具如天气查询、数据库查询等langgenius/dify-sandbox代码执行沙箱。为工作流中运行的自定义代码节点提供安全、隔离的执行环境防止恶意代码破坏主系统数据存储与中间件基础镜像semitechnologies/weaviate开源向量数据库。用于存储知识库文档的向量化数据支撑 Dify 的 RAG检索增强生成功能实现语义搜索和智能问答postgres:15-alpinePostgreSQL 关系型数据库。用于存储结构化数据如用户信息、应用配置、对话记录、工作流状态等redis:6-alpineRedis 缓存与消息队列。用于加速接口响应、存储会话状态并作为异步任务如文档切片、向量化的消息队列nginx:latest反向代理服务器。负责请求转发、负载均衡将用户的请求分发到前端 Web 服务或后端 API 服务辅助与安全组件ubuntu/squid:latestSSRF服务器端请求伪造代理。用于拦截 Dify 对外部 API 的调用防止 AI 或被控端发起恶意的内部网络请求提升系统安全性busybox:latest轻量级 Unix 工具集。在 Dify 中通常作为初始化容器Init Containers或辅助容器用于在主服务启动前执行简单的脚本如等待数据库就绪、初始化配置等拉取完成如下图可以输入docker compose ps列出所有的容器up说明正常运行可以在 http://localhost/install 时访问浏览器中的Dify仪表盘开始初始化过程等待安装设置账号密码之后登录至此Dify就搭建好了下一步需要链接本地模型。三、ollama下载安装1、简介Dify原生支持Ollama、Xinference等主流推理框架我们搭建Agent需要通过Dify链接Ollama。Dify 上层应用开发平台Ollama 本地模型运行器DeepSeek大模型 大脑Agent智能体 行为模式不是某个软件DeepSeek 是脑子Ollama 把脑子装在本地并对外提供接口Dify 是用脑子搭应用/ Agent 的可视化平台Agent 是 Dify 里一种会让模型调工具、走多步流程的应用形态。官网Download Ollama on Windows2、下载安装Ollama①双击运行②优化模型存储在cmd查看Ollama版本ollama --v ollama --verison更改模型存储位置在环境变量中修改然后登录账号 —— 链接到机器本地设备运行命令即可启动服务ollama关闭窗口即可停止服务打开软件是这样页面在左侧可以进入settings查看模型存储位置3、下载并运行模型以qwen2.5:7b为例①下载运行模型在cmd终端中输入以下命令以 qwen2.5:7b 为例# 查看ollama的版本是否安装成功 ollama --version # 下载并运行模型 ollama run qwen2.5:7bOllama会自动下载模型下载完成后自动进入交互式聊天界面在cmd中输入 /bye 或按 Ctrl D 即可退出。使用ollama list命令可以查看已下载的模型在ollama主页如下模型会默认在后台保持运行以便下次快速响应。如果你想手动停止它使用以下命令ollama stop qwen3.5-9b②优化镜像源ollama在docker中运行docker已更换镜像源如需更换ollama的镜像源在环境变量中新建“OLLAMA_REGISTRY”更换为可信镜像源镜像站URL说明魔搭社区https://ollama.modelscope.cn推荐国内速度最快DeepSeek官方https://ollama.deepseek.comDeepSeek官方镜像阿里云https://registry.ollama.ai阿里云提供稳定③常用ollama命令# 查看版本号 ollama --version # 列出已安装的模型 ollama list # 运行模型 ollama run 模型名 # 仅下载模型不运行 ollama pull 模型名 # 停止模型运行 ollama stop 模型名 # 查看运行模型 ollama ps四、Dify使用Ollama1、Dify与Ollama关联将Dify和Ollama关联让Dify通过Docker能访问Ollama 的服务。①设置API在Dify项目--docker--.env文件在末尾加上下面的配置# 启用自定义模型 CUSTOM_MODEL_ENABLEDtrue # 指定 Ollama 的 API地址根据部署环境调整IP OLLAMA_API_BASE_URLhttp://host.docker.internal:11434后续补充——————————————————————————————————————————————②在Dify主页添加模型Ollama③等待配置④添加模型以qwen2.5:7b为例模型名称qwen2.5:7b基础URL写Dify的.env文件中定义的地址2、Dify应用知识库搭建、对话流聊天助手2.1 知识库创建创建知识库需要使用Embedding 模型nomic-embed-text:latest# 知识库 Embedding ollama pull nomic-embed-text创建名为“Java基础语法”的知识库上传文件设置如下等待文件处理完成2.2 对话聊天助手Chatflow在Dify页面创建聊天助手。ChatFlow 就是一个对话流程对话流程通过一个个节点引导用户按照我们既定的方向提问并给出答案流程如下然后按照如下步骤搭建①新建节点知识库检索召回 3 个最相关片段阈值 0.5 保证“不太相关的不混入上下文”。②新建节点LLM节点核心提示词如下你是一个严谨的「Java 基础语法助教」。 只能根据下面提供的【知识库上下文】回答用户问题。 【绝对核心原则】 你是一个没有自主思考能力的问答机器。你只能回答“根据知识库上下文回答”或者“知识库中未找到该内容建议查阅官方 Java 教程”这两种情况。 【严格禁令】 1. 【绝对禁止】使用任何外部知识、常识或训练数据来回答。 2. 【绝对禁止】对知识库内容进行联想、扩展或解释。 3. 如果【知识库上下文】为空或者找不到任何相关信息你必须一字不差地输出“知识库中未找到该内容建议查阅官方 Java 教程”。多一个字都不行 【正常回答流程】 只有当【知识库上下文】中确实包含答案时才按以下格式回答 1. 先给结论。 2. 给出最小可运行代码示例必须放在 java 中。 3. 用 1-2 句话解释。 【知识库上下文】 {{#context#}} 【用户问题】 {{#sys.query#}}设置如下③新建节点直接回复节点 / 结束节点直接引用LLM的文本即可。④发布并测试输出测试A:测试B知识库不存在内容是否胡言乱语没问题大功告成2.3 外网环境访问拓展①修改Dify配置文件将.env文件文件中以下字段修改为“IP端口”# 我使用8080端口 EXPOSE_NGINX_PORT8080 CONSOLE_API_URLhttp://你的ip:8080 CONSOLE_WEB_URLhttp://你的ip:8080 SERVICE_API_URLhttp://你的ip:8080 APP_WEB_URLhttp://你的ip:8080 APP_API_URLhttp://你的ip:8080 TRIGGER_URLhttp://你的ip:8080②修改ollama的Base URL将host.docker.internal修改成“IP11434端口”③重启Dify打开页面成功2.4 搭建Agent后续更新五、四者之间关系Docker运行容器Dify可视化工作流与开发框架Ollama模型供应商 本地模型推理引擎 模型管家具体模型qwen2.5:7b