学习在Windows中基于Docker部署Dify的步骤

  想在本地搭个知识库用于知识问答,但由于电脑配置有限,经过查询资料及咨询DeepSeek和豆包,最终决定采用LM Studio+Dify的技术路线,同时采用基于Docker的Dify部署方式。
  首先需要安装Docker Desktop,使用WSL 2后端引擎的话,一方面对操作系统有最低版本要求,win10的话需要版本2004‌及以上,内部版本号Build 19041‌或更高,另一方面需要在"启用或关闭windows功能"中启用适用于Linux的Windows子系统、虚拟机平台功能,还要在BIOS中设置启用虚拟化。

  然后在参考文献2中根据本机操作系统架构下载对应的安装包进行安装,如下图所示:

)

  Docker Desktop占用磁盘空间较大,如果操作系统盘空间有限,可以在资源设置的Advanced中重新设置镜像位置。

  同时为了后续快速拉取镜像数据,应在Docker引擎设置中重新设置国内的镜像地址,如下图所示。

  第二步是下载Dify源码。参考文献5是Dify的GitHub地址,正常的方式要么通过git clone命令从参考文献5处下载源码或者手工下载zip源码包,但下载速度太慢,试了很多次都没有下载成功。后来是在Gitee中找了相对较新的Dify源码(参考文献7),通过git clone命令下载Dify源码到本地。然后进入docker子文件夹,将.env.example文件另存一份并重命名为.env,后者集中定义Dify服务运行所需的所有环境变量,其中EXPOSE_NGINX_PORT和EXPOSE_NGINX_SSL_PORT这两个环境变量用于定义Dify服务对外的访问端口,默认为80端口,如果跟本机的端口冲突(报错信息如下所示),可以根据需要修改为其它端口。

bash 复制代码
Error response from daemon: ports are not available: exposing port TCP 0.0.0.0:80 -> 127.0.0.1:0: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

  第三步是拉取镜像及启用Dify 。打开命令行,将当前文件夹切换到Dify源码的Docker目录,然后运行docker compose up -d命令,该命令根据docker-compose.yml文件定义,拉取所需的镜像,创建并启动所有定义的服务。如果本地没有所需服务的镜像,会自动从Docker Desktop配置的镜像地址中拉取镜像,这个过程时间比较长。
  启动成功后,可以运行docker compose ps命令查看服务的运行状态,如下图所示。

  最后在浏览器中输入网址(本文中为http://localhost:8090/),首次登录会初始化数据库,需要等待一会才会显示界面。默认首次打开的是设置管理员账户窗口(忘了截图),设置后再次登录即为下图所示的登录窗口。

参考文献:

1https://blog.csdn.net/Wufjsjjx/article/details/153776935

2https://www.docker.com/products/docker-desktop/

3https://blog.csdn.net/gc_2299/article/details/143315295

4https://git-scm.com/downloads/win

5https://github.com/langgenius/dify

6https://dify.ai/

7https://gitee.com/dify_ai/dify

8https://github.com/langgenius/dify/releases

相关推荐
vx-Biye_Design1 小时前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis
写代码的学渣1 小时前
docker部署开源实时观测系统hertzbeat
docker·容器·开源
ai产品老杨1 小时前
架构师视点:基于 Docker 与边缘计算的百路异构视频中台,如何实现 GB28181/RTSP 统一接入与源码交付?
docker·音视频·边缘计算
TimberWill1 小时前
Docker使用总结
运维·docker·容器
m0_547486662 小时前
《KVM Docker OpenStack实战—虚拟化与云计算配置 管理与运维》全套课件PPT
运维·docker·openstack
正经教主2 小时前
【docker基础】第十周:CI/CD集成
运维·docker·容器
Clang's Blog2 小时前
Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven
ubuntu·docker·maven
ai产品老杨2 小时前
打破芯片壁垒:基于 Docker 与边缘计算的异构视频中台架构设计,如何通过 GB28181/RTSP 统一接入与源码交付节省 95% 开发成本?
docker·音视频·边缘计算
“码”力全开2 小时前
解耦与重塑:基于 Docker 容器化与 GB28181/RTSP 统一接入的 AI 视频管理平台架构解析(支持源码交付与边缘计算)
人工智能·docker·边缘计算