Huanshere / VideoLingo

Netflix-level subtitle cutting, translation, alignment, and even dubbing - one-click fully automated AI video subtitle team | Netflix级字幕切割、翻译、对齐、甚至加上配音,一键全自动视频搬运AI字幕组
https://docs.videolingo.io
Apache License 2.0
7.25k stars 698 forks source link

docker容器无法访问主机的ollama端口 #289

Open ImJoyed opened 4 hours ago

ImJoyed commented 4 hours ago

我用docker安装的,不知道为什么无法访问主机的ollama,在容器里边执行curl http://host.docker.internal:11434/ 返回的是空,而在其它机子上使用curl访问ollama服务返回的是Ollama is running 容器能够正常使用host.docker.internal域名,可以访问主机的proxy 主机的ollama也已经设置了绑定0.0.0.0和跨域了,并且别的机子也能通过ip访问ollama

容器启动命令: docker run -e http_proxy=http://host.docker.internal:XXXX -e https_proxy=http://host.docker.internal:XXXX -d --add-host host.docker.internal:host-gateway -p 8501:8501 --gpus all rqlove/videolingo:latest

ImJoyed commented 4 hours ago

补充ollama的配置

[Unit] Description=Ollama Service After=network-online.target

[Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="PATH=$PATH" Environment="OLLAMA_HOST=0.0.0.0" Environment="OLLAMA_KEEP_ALIVE=2h" Environment="OLLAMA_ORIGINS=*"

[Install] WantedBy=default.target

lonrencn commented 4 hours ago

先问问AI,看看Ai怎么说

ImJoyed commented 4 hours ago

先问问AI,看看Ai怎么说

问过了,ai说的就是允许docker通过host.docker.internal域名访问主机、主机绑定0.0.0.0、检查端口啥的,都检查了

lonrencn commented 4 hours ago

你最好有portainer看一下容器状态

ImJoyed commented 3 hours ago

你最好有portainer看一下容器状态

网络设置和ollama的webui是一样的,都是bridge。因为要下模型所以配了proxy的环境变量(host.docker.internal:10809,很奇怪这个主机的端口能访问),别的没啥不一样的啊

lonrencn commented 2 hours ago

你最好有portainer看一下容器状态

网络设置和ollama的webui是一样的,都是bridge。因为要下模型所以配了proxy的环境变量(host.docker.internal:10809,很奇怪这个主机的端口能访问),别的没啥不一样的啊

从lingo容器中,访问baidu.com什么情况

ImJoyed commented 1 hour ago

从lingo容器中,访问baidu.com什么情况

访问Baidu等都能正常访问,访问主机的v2ray代理也能正常访问 我现在将容器的网络切到了host模式,依然是v2ray正常访问,ollama访问不了 通过在代码中添加输出,发现容器中访问ollama,返回503。但是主机中的ollama日志并没有收到请求,而且其它容器或者局域网内的机子是可以访问ollama的

在videolingo中添加的一些输出

start main
ask gpt
in ask_gpt
base_url: http://192.168.101.202:11434/v1
api_set: {'key': 'none', 'base_url': 'http://192.168.101.202:11434', 'model': 'qwen2.5:14b'}
exception: Error code: 503
api_set: {'key': 'none', 'base_url': 'http://192.168.101.202:11434', 'model': 'qwen2.5:14b'}
exception: Error code: 503
api_set: {'key': 'none', 'base_url': 'http://192.168.101.202:11434', 'model': 'qwen2.5:14b'}
exception: Error code: 503

ollama的日志,通过journalctl -u ollama.service -f查看(这部分日志是使用ollama ps时生成的,并不是容器访问时生成的

ov 27 08:45:59  ollama[353993]: INFO [main] model loaded | tid="130241629425664" timestamp=1732697159
Nov 27 08:45:59 ollama[302467]: time=2024-11-27T08:45:59.893Z level=INFO source=server.go:626 msg="llama runner started in 3.26 seconds"
Nov 27 08:45:59 ollama[302467]: [GIN] 2024/11/27 - 08:45:59 | 200 |  3.844320817s |       127.0.0.1 | POST     "/api/generate"
Nov 27 08:46:17 ollama[302467]: [GIN] 2024/11/27 - 08:46:17 | 200 |      30.255µs | 192.168.101.126 | GET      "/"
Nov 27 09:19:01 ollama[302467]: [GIN] 2024/11/27 - 09:19:01 | 404 |      63.625µs | 192.168.101.126 | GET      "/v1/chat/completions"
Nov 27 09:20:00 ollama[302467]: [GIN] 2024/11/27 - 09:20:00 | 200 |       38.99µs |       127.0.0.1 | HEAD     "/"
Nov 27 09:20:00  ollama[302467]: [GIN] 2024/11/27 - 09:20:00 | 200 |      92.037µs |       127.0.0.1 | GET      "/api/ps"
Nov 27 09:22:25 ollama[302467]: [GIN] 2024/11/27 - 09:22:25 | 200 |      13.185µs | 192.168.101.126 | GET      "/"