1. 给 Docker 配置国内公共 DNS(核心修复)

  1. 编辑 Docker 配置文件

bash

运行

vim /etc/docker/daemon.json
  1. 写入以下内容(覆盖原有内容)

json

{
  "dns": ["223.5.5.5", "114.114.114.114", "8.8.8.8"]
}
  1. 保存退出,重启 Docker 服务

bash

运行

systemctl restart docker

2. 完全重建 FastGPT 容器,加载新 DNS

bash

运行

# 停止所有服务
docker compose down
# 重新启动
docker compose up -d

3. 进入容器验证域名解析是否恢复

bash

运行

# 进入fastgpt-app容器
docker exec -it fastgpt-app sh
# 测试解析DeepSeek域名
nslookup api.deepseek.com
  • 正常:返回多组 IP 地址 → DNS 修复完成,回到页面测试模型;
  • 仍报 EAI_AGAIN:往下执行宿主机 DNS 修复。

三、宿主机 DNS 兜底修复(容器配置后仍失败时)

CentOS 系统修改宿主机 DNS

bash

运行

vim /etc/resolv.conf

添加 / 替换为:

plaintext

nameserver 223.5.5.5
nameserver 114.114.114

保存后再次重启整套服务:

bash

运行

docker compose down && docker compose up -d

四、快速区分故障边界测试

宿主机执行(不进容器)

bash

运行

nslookup api.deepseek.com
  1. 宿主机能解析 IP,容器内不行:仅 Docker DNS 配置问题,执行步骤 1、2 即可;
  2. 宿主机本身也解析失败:虚拟机网络 / DNS 服务商拦截,切换虚拟机网络为桥接模式,或切换宽带网络测试。

五、补充说明

  1. 之前所有参数配置(地址、密钥、思考开关)都无错误,问题和页面配置无关,纯容器网络 DNS 故障
  2. 修复 DNS 后,不管是 DeepSeek 直连、Claude 中转,都能正常发起模型测试请求;
  3. fieldMap: undefined 是 FastGPT 默认空配置,不影响任何接口调用,可以忽略。

更多推荐