【Docker】记录一次使用docker部署dify网段冲突的问题

记录一次使用docker部署dify网段冲突的问题

  • [1. 情况描述](#1. 情况描述)
  • [2. 问题根源](#2. 问题根源)
  • [3. 解决方案](#3. 解决方案)

1. 情况描述

  1. 有一台服务器,一个路由器,一个本地Windows电脑;

  2. 服务器连接到路由器中;路由器本身在内网的IP为172.19.xxx.xxx;服务器在路由器子网下的IP为192.168.xxx.xxx

  3. 服务器通过路由器的端口映射将22端口暴露出来,本地Windows电脑通过172.19.xxx.xxx:22使用SSH连接到服务器;

  4. docker部署dify,命令为docker compose up -d,服务全部启动后,SSH连接突然断开,怎么连都连不上;

  5. 查询各种资料无果,最后AI提出网段冲突的问题,遂排查。

2. 问题根源

  1. 确实是docker的网段冲突问题;

  2. 不是简单的网段冲突问题,而是docker误以为本地网段为192.168.xxx.xxx,于是直接使用默认的172.17.xxx.xxx网段;

  3. 由于当前已经存在172.17.xxx.xxx172.18.xxx.xxx、172.20.xxx.xxx的容器,docker在启动dify时自动顺延至172.19.xxx.xxx网段,导致docker网络地址与路由器网关地址冲突,于是SSH连接断开;

注:

  1. 为什么已经存在其他没有冲突的网段(17,18,20)?因为这台服务器之前是没有接路由器的,直接暴露在内网中,IP是172.19.xxx.xxx,docker在部署其他容器时自动避开了冲突网段;

  2. docker是会自动检查网段冲突 的:与AI的表述不同,实践上来看,docker确实会自动检查网段冲突。

3. 解决方案

修改/etc/docker/daemon.json,添加:

json 复制代码
{
	"default-address-pools": [
	    {
	      "base": "172.80.0.0/16",
	      "size": 24
	    }
	]
}

其中172.80.0.0/16可以是其他不冲突的自定义网段。

相关推荐
AcaDesign42 分钟前
国家/省部市级科技奖答辩PPT_科技进步奖_自然科学奖_技术发明奖|WordinPPT
大数据·人工智能·科技·powerpoint
Ai-_Man3 小时前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
AI02265 小时前
探秘AI Agent软件公司:开启智能时代的创新引擎
人工智能
fīɡЙtīиɡ ℡7 小时前
AI 应用系统设计
java·开发语言·人工智能
Lonely 净土7 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
小淮AI7 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能
又折桃枝换酒钱7 小时前
VisCoder2:构建多语言可视化编码智能体(翻译与解读)
人工智能·信息可视化
AI绘画哇哒哒7 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
Chengbei118 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构