本次演示部署环境:Windows 10专业版,转载请说明出处

下载安装Docker

  Docker官网:https://www.docker.com/

自定义Docker安装路径

  Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。

新建安装目录:E:\MySoftware\Docker并将Docker安装包放在目录内,这里有个小细节,安装包名称一定要改下,官网下载下来的名称叫:Docker Desktop Installer.exe,一定要修改一下,不能用这个名字,否则等下在CMD命令安装的时候就会报错说被资源占用,因为Docker在安装时会解压一个一模一样名称的exe程序,重名就会导致安装失败,所以一定要改下名字。

  在文件路径输入cmd回车

输入:


.\"Docker.exe" install --installation-dir=E:\MySoftware\Docker
语法:.\”安装程序名称” install --installation-dir=指定Docker安装的路径

  安装完成后会提示Installation sueceeded

  桌面会出现Docker图标

  启动Docker这里很多人会报这个错,这个是因为电脑没有WSL导致无法启动Docker容器。

下载WSL

  进入微软官网按步骤执行即解决,几分钟完成。

https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

  用管理员身份打开Powershell窗口,粘贴微软官网的命令执行下载即可

粘贴执行:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

  下载完后会启动一个这个页面,可以关闭。

  注:完成内核更新包安装后需重启系统(微软官方指南),再启动下Docker,出现这个界面就代表WSL和Docker都启动成功了。

Docker镜像存储迁移

  这时进入Docker设置中,将Docker的镜像资源存放路径改一下,不然都会下载都C盘。

Docker镜像源加速配置

  至关重要的地方来了,打开Docker的设置中的-->Docker Engine,然后把国内的镜像源复制进去保存,我这里提供一些,如果失效了就百度找新的。

{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
"https://5tqw56kt.mirror.aliyuncs.com",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn/",
"http://mirror.azure.cn/",
"https://hub.rat.dev/",
"https://docker.ckyl.me/",
"https://docker.chenby.cn",
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io"
]
}  

  保存镜像源后就可以试一下拉取镜像,如果拉取不成功也可以重启下Docker,还是不行提示超时就说明镜像源失效了,就在网上搜索下新的镜像源。

测试拉取镜像

  在cmd命令窗口输入:

docker pull hello-world

  出现这个Status: Dowloaded newer image for hello-world:latest就代表镜像源没有问题。

安装Dify

下载Dify代码包

  进入github下载Dify代码包:https://github.com/langgenius/dify

  解压代码包后,把压缩后的文件夹复制到自己想要安装的目录下,这里复制一下.env.example文件,然后重命名一下改成.env

  在当前文件路径下输入CMD回车

拉取Dify依赖镜像资源

  粘贴以下命令回车,会自动下载一些依赖资源。如果你的下载失败就是镜像源失效了,换一个镜像源,重新拉取镜像。

docker-compose up -d

  下载完成

  回到Docker可以都看到已经下载好的镜像全部都显示了,并且都在运行。

进入Dify后台

  输入http://127.0.0.1/会自动打开Dify的页面,有人会遇到这个Internal Server Error报错,这是因为镜像下载来后,有部分镜像还在启动中或未启动,这时候将所有镜像重启一次才可以。

  重启所有镜像

创建管理员用户

  重新进入Dify管理后台,首次进入需创建管理员用户。

  创建管理员用户后,将进入登录界面。

  登录成功

添加AI模型

  点击右上角头像-设置

成员这里可以创建企业内成员进行登录使用。

  选择模型供应商

  这里我本地已经安装部署好了Ollama和Deepseek R1和BGE-M3模型,如果没有部署好的请看我这篇文章本地电脑部署DeepSeek 大模型AI

  由于我本地已经安装好了Ollama,所以就找到Ollama,点击安装插件,其他供应商选择对应安装。下载可能稍慢,请耐心等待。

  添加模型时,若不知模型名称,可在CMD中输入Ollama list查看本地模型名称并复制。

模型类型:

推理模型 → LLM
嵌入模型 → Text Embedding

模型名称就把刚刚复制下来的粘贴上去就可以了。

这里IP地址要注意了,由于我没有用Docker容器里部署Ollama,而是在本地电脑安装的Ollama,这里对IP就要进行特殊处理下了,需要改为:http://host.docker.internal:11434。

网络通信原理:
host.docker.internal为Docker内置域名解析,实现容器与宿主机服务的桥接。简单说就是Docker自己和我们电脑主机网络做了一个映射关系。

  模型添加完成

创建应用

  其实我也不太会使用,就简单粗糙的做个示范吧,要深入研究需要找下资料学习下。

这里我选择创建聊天助手(每个不同应用的作用不一样,选择与自己相符的就行)

  添加一些提示词、变量、知识库、模型,设置好后在右边可以调试预览效果,调试完成后就可以发布应用了。

  这里提一句,由于我自己的电脑资源很一般,所以每次一提问的时候资源就占比很高,不过等AI思考完毕后资源占用会下降。

  测试结果,虽然回答是错误的。

知识库测试

  我这里测试了下知识库检索,上传了6个本地文档。

  然后我简单的定义了提示词后,对模型提出问题:结合知识库帮我找出住在向阳里桃源弄的人员的电话和姓名。

  然后真的回答对了,全体起立!

  这是源文件里的内容。

WSL资源控制

  由于我是针对个人学习,在学习完后我发现我的电脑内存占比一直居高不下,在任务管理器查到了是一个Vmmem的进程占用,大概也知道应该是虚拟机类的占用。

  搜索了下网上资源了解到vmmem是一个由WSL(Windows Subsystem for Linux)创建的虚拟进程,主要用于管理WSL2的内存和CPU资源。当WSL2运行时,Vmmem进程会占用大量的内存和CPU资源,以确保虚拟机的最佳性能。然而,这可能会导致主机系统的其他应用程序运行缓慢或无法正常运行‌。

关闭WSL服务

  所以如果不用的时候可以关闭掉WSL服务。

在cmd里输入:

wsl --shutdown

  关闭后电脑资源就回到正常状态了。

启动WSL服务

  那如果我们后再用的时候就重新启动WSL服务就可以。

在cmd输入:

wsl

最后的最后

  关于Dify的作用文中提到的只是冰山一角,它真正的厉害之处是它的工作流,由于博主知识有限,只能教大家部署应用,具体的功能开发使用还要大家自行学习,后续博主也会去学习Dify的相关知识,有机会的话就再开一贴。如有讲的不对的地方,敬请指正。

附上Dify的官方操作手册地址:https://docs.dify.ai/zh-hans

  这是我整个学习过程中遇到的问题,最后结合百度和AI最后都完成解决了。

总结几个小坑:

1、WSL2的安装。

2、Docker容器镜像源的设置。

3、Dify依赖镜像的拉取。

4、Dify添加模型时IP映射设置。

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程的更多相关文章

  1. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

    Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...

  2. 搭建基于Docker社区版的Kubernetes本地集群

    Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS.Win10下 ...

  3. 基于Docker的服务器搭建

    -----------基于Docker的多种服务器搭建----------- 开发环境 本机上的虚拟机 Centos7.4 Docker1.13.1 Openssl1.1.1 1 Nginx 1.1 ...

  4. 基于Docker+Jenkins+Gitlab搭建持续集成环境

    随着DevOps理念和敏捷理念的发展,我们希望通过自动化技术,加快项目的迭代.尤其是当使用微服务方案后,面临在大量的项目构建和部署工作,借助于jenkins的持续集成,可以快速把应用打包成docker ...

  5. 基于 Docker 安装 Nginx 搭建静态服务器

    最近一直在准备家里的服务器部署一个自己用的网站玩玩,一来是用来学习部署的基础知识,二来,后面有空学点前端,可以部署到自己网站玩玩. 参考链接:https://juejin.cn/post/705740 ...

  6. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  7. 基于docker+reveal.js搭建一个属于自己的在线ppt网站

    前言 最近热衷于Docker,由于这段时间使用Docker来折腾自己的服务器,越来越感觉这是一种及其被应该推广的技术,因此想在公司内部也做一次技术分享.当然,如果只是做的PPT,我就不写这文章了.既然 ...

  8. 基于Docker和Golang搭建Web服务器

    1 场景描述 基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器 我购买了一个最 ...

  9. 金瓯无缺江河一统|Win10系统基于Docker和Python3搭建并维护统一认证系统OpenLdap

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_180 OpenLdap(Lightweight Directory Access Protocol)是什么?它其实是一个开源的.具 ...

  10. 基于docker环境,搭建 jetty环境, 部署java项目

    前提: 1.Ubuntu 系统. 2.docker环境已经安装好. 实现步骤: 1.上docker hub 下载jetty docker 镜像. 执行命令:$ sudo docker pull jet ...

随机推荐

  1. 如何快速的开发一个完整的iOS直播app(采集篇)

    作者:袁峥链接:https://www.jianshu.com/p/c71bfda055fa来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 开发一款直播app,首先需要 ...

  2. Python使用技巧2

    python url网址拼接 在做爬虫中,经常会遇到需要把一个域名和网址路径进行拼接,在开发时一时没想到方法,特此记录下来. 利用parse.urljoin方法进行网址拼接 from urllib i ...

  3. 使用GraalVM将SpringBoot工程编译成平台原生的可执行文件

    原文链接:https://blog.liuzijian.com/post/209e68d0-a418-1737-503a-d47e6d2d9350.html 1.GraalVM GraalVM (ht ...

  4. Win7远程桌面连接不上

    Windows远程桌面连接不上有多种情况,当完成基本设置后,如果连不上,那么最可能的情况是防火墙和网络设置不匹配. 1. 检查一下Window防火墙中远程桌面的设置,默认情况下只允许"家庭/ ...

  5. 第9章 LINQ 运算符

    第9章 LINQ 运算符 本章所有例子所使用的 names 数组都是一致的: string[] names = {"Tom", "Dick", "Ha ...

  6. 【忍者算法】LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)

    (本文字数2900,阅读大约需15分钟) 上一篇文章我们讨论了如何科学地刷题,今天我要带大家深入了解这100道精选题目背后的分类逻辑.作为一名面试官,我希望通过这篇文章,为大家绘制一张完整的算法知识地 ...

  7. 用 C# 写一个 .NET 垃圾回收器(二)

    用 C# 写一个 .NET 垃圾回收器(二) 在第一部分中,我们准备了项目,并修复了由 NativeAOT 工具链引起的初始化问题.在本部分,我们将开始实现自己的 GC(垃圾回收器).目前的目标是构建 ...

  8. 使用Appflowy+AppflowyCloud搭建自己的笔记系统(个人知识库)-开篇

    为什么需要自己的知识库(笔记)系统? 首先,第一点是数据隐私的担忧.因为个人笔记中包含很多内容,比如图片.代码.个人想法,甚至账号信息.我希望这些内容能部署在自己的电脑或自己的数据中心,这样数据就不容 ...

  9. CART回归树基本原理(具体例子)

    id3不能直接处理连续性的特征,需要将连续性的转化成离散的,但是会破坏连续性特征的内在结构. 一.概念 CART全称叫Classification and Regression Tree.首先要强调的 ...

  10. Typecho防黑安全加固-修改后台路径

    删除安装文件 成功安装后删除install.php文件.install/文件夹. 修改后台地址 把admin修改为黑客猜不到的名字,例如pipixia,防止黑客穷举密码. 修改admin文件夹名称 修 ...