docker 创造了一个虚拟环境。比如oneapi可以提供源码 也可以提供docker 镜像,然后把这个镜像发布到dockerhub 里。
这个镜像包含了所有环境 你直接从dockerhub上拉取下来。run一下就行了
登录One-API
- 初始用户名:root,
- 密码:123456,注意
- 登录后务必修改密码。
设置教程》》https://zhuanlan.zhihu.com/p/20366409885
先安装镜像。
docker pull ghcr.io/songquanpeng/one-api:v0.6.11-preview.6
后运行
docker run --name one-api -d --restart always -p 3000:3000 ghcr.io/songquanpeng/one-api
服务成功运行后,打开浏览器,访问http://localhost:3000/,即可进入 one-api 的控制台登录界面,初始账号用户名是 root,密码为 123456,输入后便能开启 one-api 的功能探索之旅
=============================================================================
今天在oneapi添加ollama后,点击测试报错:connection refused
错误1:错误:do request failed: Post "http://localhost:11434/api/chat": dial tcp [::1]:11434: connect: connection refused
原因
我的oneapi是装在docker里的,ollama则是直接装在电脑系统里。
所以oneapi其实应该访问宿主机的localhost而不是容器内的localhost。
适用于 Windows 和 Mac 的 Docker Desktop 18.03+ 支持 host.docker.internal 作为 宿主机的localhost 的功能别名。
Linux 上的 Docker 引擎用户也可以通过 docker run 的 --add-host 标志启用主机的默认名称 host.docker.internal。使用此标志启动容器以公开主机字符串:
docker run -d --add-host host.docker.internal:host-gateway my-container:latest
我的系统是win11,所以直接用host.docker.internal即可。
在oneapi中添加如下配置:
或者直接 添加 本机IP,如下:
再点击测试就可以了
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
点击 右上角,消息铃,就可以展开 本地镜像,
四、PostMan验证:
构建请求(前端同理):
url = "http://localhost:3000/v1/chat/completions" headers = { "Content-Type": "application/json", "Authorization": "Bearer YOUR_TOKEN" } data = { "model": "your_model_name", "messages": [{"role": "user", "content": "你好,今天天气如何?"}] }
{
"model": "deepseek-r1:1.5b",
"messages": [
{
"role": "user",
"content": "你是谁?"
},
{
"role": "user",
"content": "Hello!"
}
]
}