docker解决dns问题 第一次遇到 日了狗了
·
1. 给 Docker 配置国内公共 DNS(核心修复)
- 编辑 Docker 配置文件
bash
运行
vim /etc/docker/daemon.json
- 写入以下内容(覆盖原有内容)
json
{
"dns": ["223.5.5.5", "114.114.114.114", "8.8.8.8"]
}
- 保存退出,重启 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
- 宿主机能解析 IP,容器内不行:仅 Docker DNS 配置问题,执行步骤 1、2 即可;
- 宿主机本身也解析失败:虚拟机网络 / DNS 服务商拦截,切换虚拟机网络为桥接模式,或切换宽带网络测试。
五、补充说明
- 之前所有参数配置(地址、密钥、思考开关)都无错误,问题和页面配置无关,纯容器网络 DNS 故障;
- 修复 DNS 后,不管是 DeepSeek 直连、Claude 中转,都能正常发起模型测试请求;
fieldMap: undefined是 FastGPT 默认空配置,不影响任何接口调用,可以忽略。
更多推荐
所有评论(0)