社区版Dify 调用不了局域网(172.18.0.0网段)内API,ping不到局域网(172.18.0.0网段)

社区版Dify 调用不了局域网段(172.18.0.0网段)内的API,ping不到局域网段(172.18.0.0网段)

一、问题原因

直接说原因:社区版 Dify Docker 默认使用 172.17.0.0/16 和 172.18.0.0/16 等网段创建虚拟网桥。当这些默认网段与你的局域网网段有重叠时,就会导致路由冲突和网络访问问题。
在未启动 Dify 之前可互Ping的两个局域网主机:
在这里插入图片描述
在启动社区版Dify Docker 之后,Dify 主机不能访问局域172.18.0.0 网段:
在这里插入图片描述

ping 172.18.*.2*7
结果报错:
PING 172.18.*.2*7 (172.18.*.2*7) 56(84) bytes of data.
From 172.18.0.1 icmp_seq=1 Destination Host Unreachable
From 172.18.0.1 icmp_seq=5 Destination Host Unreachable
From 172.18.0.1 icmp_seq=6 Destination Host Unreachable
From 172.18.0.1 icmp_seq=7 Destination Host Unreachable

二、问题查找

# 在启动Docker 之后, 即 sudo docker compose up -d 之后,运行:
ip route

结果:

default via 192.168.144.1 dev wlx986ee825c83a proto dhcp metric 600
169.254.0.0/16 dev wlx986ee825c83a scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-7a2da9edd597 proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-2688fa48d056 proto kernel scope link src 172.19.0.1
192.168.144.0/21 dev wlx986ee825c83a proto kernel scope link src 192.168.146.92 metric 600

这是因为 Dify 启动的时候虚拟网桥使用了同样的网段!
导致与本地的局域网在网段地址172.18.0.0 上冲突了!

三、解决方法

  1. 关闭Dify docker 后台
sudo docker compose down
  1. 设置 Docker 默认网段:在 /etc/docker/daemon.json 中添加:
{
  "default-address-pools": [
    {
      "base": "172.20.0.0/16",
      "size": 24
    }
  ]
}

如你看过我之前安装Dify教程,首次安装Dify 时,也需要在 /etc/docker/daemon.json 这里配置拉镜像的路径,因此本次修改后的 /etc/docker/daemon.json 为:

{
    "registry-mirrors": [
  "https://docker.registry.cyou",
  "https://docker-cf.registry.cyou",
  "https://dockercf.jsdelivr.fyi",
  "https://docker.jsdelivr.fyi",
  "https://dockertest.jsdelivr.fyi",
  "https://mirror.aliyuncs.com",
  "https://dockerproxy.com",
  "https://mirror.baidubce.com",
  "https://docker.m.daocloud.io",
  "https://docker.nju.edu.cn",
  "https://docker.mirrors.sjtug.sjtu.edu.cn",
  "https://docker.mirrors.ustc.edu.cn",
  "https://mirror.iscas.ac.cn",
  "https://docker.rainbond.cc"],
  "default-address-pools": [
    {
      "base": "172.20.0.0/16",
      "size": 24
    }
  ]
}

  1. 重启 Docker 服务
sudo systemctl restart docker
  1. 启动Dify即可
sudo docker compose up -d

如有解决你的问题,期待你点个赞,关注或者留下评论~

四、Dify 安装和专栏的以往文章推荐

  1. Dify安装时会遇到的网络问题,已成功安装Dify教程
  2. Dify 部署LLM 可以参考这里,Dify实现Ollama3.2-vision多模态聊天
  3. 社区版Dify +ComfyUI 实现 Flux 文生图
  4. 并且欢迎关注我的 社区版 Dify 开发专栏
  5. Dify 部署Deepseek-r1大模型教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值