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

如何让Docker化Python应用连接主机Ollama(localhost:11434)?连接报错

问题描述

本地机器已运行搭载llama3.2:latest模型的Ollama,通过ollama ps可确认模型正常运行:

NAMEIDSIZEPROCESSORUNTIL
llama3.2:latesta80c4f17acd54.0 GB100% GPU3 minutes from now

Ollama可通过http://localhost:11434/访问。本地运行以下Python脚本(基于pydantic_ai和OpenAIProvider,通过Ollama的OpenAI兼容API连接)正常:

from pydantic import BaseModel
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel
from pydantic_ai.providers.openai import OpenAIProvider

class CityLocation(BaseModel):
    city: str
    country: str

ollama_model = OpenAIModel(
    model_name='llama3.2', provider=OpenAIProvider(base_url='http://localhost:11434/v1')
)
agent = Agent(ollama_model, output_type=CityLocation)

result = agent.run_sync('Where were the olympics held in 2012?')
print(result.output)
print(result.usage())

使用Nixpacks构建Docker镜像:

sudo nixpacks build . -t image1

构建成功后运行容器:

docker run -it b0300949-bf2f-404e-9ea1-ebaa34423b50

运行失败,报错:

openai.APIConnectionError: Connection error

尝试添加--network="host"参数运行,仍出现相同连接错误。

需求:如何让Docker容器成功连接主机上运行在http://localhost:11434/v1的Ollama?

解决方案

1. 修改Ollama监听地址

默认Ollama仅监听localhost(127.0.0.1),仅本机进程可访问,Docker容器即使使用host网络也可能因网络命名空间限制无法访问(尤其在macOS/Windows系统中,Docker的host网络实现与Linux不同)。

  • 创建或编辑Ollama配置文件:~/.ollama/config.json
  • 添加以下配置:
    {
      "host": "0.0.0.0:11434"
    }
    
  • 重启Ollama服务:
    ollama stop && ollama start
    

2. 替换代码中的localhost为宿主机实际IP

容器内的localhost指向容器自身,而非宿主机。需修改Python代码中的base_url为宿主机的局域网IP:

  • 查看宿主机IP:Linux/macOS用ip addr或ifconfig,Windows用ipconfig
  • 修改代码中的base_url:
    ollama_model = OpenAIModel(
        model_name='llama3.2', provider=OpenAIProvider(base_url='http://宿主机IP:11434/v1')
    )
    
  • 重新构建镜像并运行:
    sudo nixpacks build . -t image1
    docker run -it image1
    

3. 先验证容器与宿主机的网络连通性

在容器内先测试能否访问Ollama API:

docker run -it --rm alpine curl http://宿主机IP:11434/v1/models

若返回模型列表,说明网络连通正常,再运行Python脚本容器。

内容的提问来源于stack exchange,提问作者Pierre-olivier Gendraud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:30:06