You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器中Khoj AI无法访问主机LMStudio服务器的问题求助

解决Docker容器内Khoj AI访问主机LMStudio的问题

问题根源:Docker容器内的localhost指向容器自身,而非宿主机,因此原配置中http://localhost:1234/v1/无法访问到主机上的LMStudio服务。

以下是三种可行的解决方法:

方法1:使用Docker Host网络模式

修改Khoj的docker-compose.yml配置,给Khoj服务添加网络模式配置:

services:
  khoj:
    # 保留原有其他配置
    network_mode: host
  • 此模式下容器与宿主机共享网络栈,容器内的localhost直接映射到宿主机,无需修改OPENAI_API_BASE配置。
  • 注意:若原有配置中有ports端口映射项,可移除(共享网络后端口直接暴露)。

方法2:使用宿主机实际IP地址

  1. 查找宿主机的局域网IP:
    • Linux/macOS:执行ip addr或ifconfig,找到对应网卡的IP(如192.168.3.10)。
    • Windows:执行ipconfig,找到本地连接的IPv4地址。
  2. 修改OPENAI_API_BASE配置为:
    - OPENAI_API_BASE=http://[宿主机IP]:1234/v1/
    
    示例:OPENAI_API_BASE=http://192.168.3.10:1234/v1/
  3. 确保LMStudio的服务器绑定地址为0.0.0.0(而非仅localhost),否则容器无法访问。在LMStudio设置中调整服务器监听地址为0.0.0.0:1234。

方法3:使用Docker Desktop专属DNS名称(仅适用于Windows/macOS Docker Desktop)

直接将OPENAI_API_BASE配置修改为:

- OPENAI_API_BASE=http://host.docker.internal:1234/v1/

host.docker.internal是Docker Desktop提供的固定DNS名称,会自动解析到宿主机IP。

验证步骤

修改配置后重启Khoj容器,可进入容器内部测试连通性:

# 进入Khoj容器(替换为实际容器名称)
docker exec -it khoj-container-name bash
# 测试访问LMStudio
curl http://[对应地址]:1234/v1/models/

若能正常获取响应,再通过Khoj GUI前端测试即可。

内容的提问来源于stack exchange,提问作者Max Korhonen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 23:12:10