网站建设和维护pdf,家庭装修设计平台,沈阳专业做网站公司,做棋牌网站团队组件说明 Dify踩坑及解决方案
⚠️ 除了修改镜像版本#xff0c;nginx端口不要直接修改docker-compose.yaml #xff01;#xff01;#xff01;#xff01;#xff01;#xff01;#xff01;
1、更换镜像版本
这个文件是由.env自动生成的#xff0c;在.env配置
…组件说明 Dify踩坑及解决方案
⚠️ 除了修改镜像版本nginx端口不要直接修改docker-compose.yaml
1、更换镜像版本
这个文件是由.env自动生成的在.env配置
拉取dify-main后默认的镜像版本是1.0.0我将镜像版本修改为0.14.2是可以正常用的 开始在Mac中拉取的就是1.0.0的镜像版本在添加模型供应商时提示组件缺失需要再次手动下载各个模型供应商组件0.14.2版本不存在这个问题
修改方式在yaml中搜索1.0.0将所有的版本号替换为0.14.2
services:# API serviceapi:image: langgenius/dify-api:0.14.2 web:image: langgenius/dify-web:0.14.2restart: always# worker service# The Celery worker for processing the queue.worker:image: langgenius/dify-api:0.14.2restart: always2、ollama接入dify报错容器网络隔离 Docker内部容器地址默认为127.0.0.1和localhost非宿主机需要将 Ollama 服务暴露给网络才可以正常接入 解决使用host.docker.internal
Windows
Ollama的默认监听地址为127.0.0.1导致其他容器无法访问启动Ollama时指定监听所有网络接口0.0.0.0
首先在系统环境变量中添加OLLAMA_HOST,值为0.0.0.0并启动ollama
ollama serve如果提示端口被占用在任务管理器中关闭所有运行的ollama服务
然后在宿主机上验证Ollama是否运行正常
curl http://localhost:11434接着配置防火墙确保允许外部设备访问Ollama所使用的端口
Mac
1、设置Ollama环境变量
launchctl setenv OLLAMA_HOST 0.0.0.0如果是手动启动 Ollama可以使用以下命令临时
ollama serve --host 0.0.0.0在 Dify 配置中使用 host.docker.internal
2、从 Dify 容器中测试连接
curl http://host.docker.internal:114343、将 Ollama 的地址设置为
http://host.docker.internal:11434Linux
在[Service]下加上Environment“OLLAMA_HOST0.0.0.0” 具体修改方法在这里
3、启动
在dify所在地址栏输入cmd进入终端拉取镜像复制环境变量采用默认端口启动
cd dify/docker
cp .env.example .env
docker compose up -d如果修改了配置需要重启docker命令如下
docker compose down
docker compose up -d如果在拉取镜像中报错
Error response from daemon: Get “https://registry-1.docker.io/v2/”: EOF请docker镜像源换为国内镜像源
MacWindows在Docker桌面中修改 点击顶部齿轮进入Docker Engine #镜像源如下 {registry-mirrors: [https://docker.1panel.live,https://docker.nju.edu.cn,https://docker.m.daocloud.io,https://dockerproxy.com,https://hub-mirror.c.163.com,https://docker.mirrors.ustc.edu.cn,https://registry.docker-cn.com,https://registry.cn-hangzhou.aliyuncs.com]
}Linux请修改daemon.json文件
vim /etc/docker/daemon.json 保存退出esc–:wq–Enter
4、接入模型供应商时模型的url 模型供应商” “ollama” “添加”。 将 URL 设置为 http://host.docker.internal:11434让 Docker 通过内部地址访问 Ollama的端口号默认为11434
端口冲突
1、Ollama端口被占用
如果之前部署过其他应用用Ollama链接过其他应用可能会遇到端口冲突的问题 方法1:关闭其他占用Ollama的进程 Windows
netstat -ano | findstr :11434Mac/Linux
sudo lsof -i :11434运行以下命令终止进程 Windows
taskkill /PID PID /FMac/Linux
kill -9 PID方法2修改Ollama默认端口号
2、dify默认端口被占用
dify的默认web端口号80 在docker中的.env文件中修改web端口号 修改如下 EXPOSE_NGINX_PORT8080 # 修改 Web 访问端口 改这个 EXPOSE_NGINX_SSL_PORT8443 # 修改 SSL 端口 DIFY_PORT5002 # 修改 API 服务端口