Ollama无法在Docker中运行模型,证书错误x509,

kx7yvsdv  于 2个月前  发布在  Docker
关注(0)|答案(7)|浏览(124)

问题是什么?
我遇到了一个与以下报告中的问题相似的问题:ollama.ai证书已过期,无法下载模型#3336
今天早些时候,我从docker hub上安装了当前的镜像(ollama/ollama:latest),但当我尝试使用模型时,我得到了以下错误:
错误:拉取模型清单:获取 " https://registry.ollama.ai/v2/library/llama2/manifests/latest " : tls: 验证证书失败:x509:证书由未知机构签署

你期望看到什么?

我希望它能拉取模型并正常工作。

重现问题的步骤

安装镜像,运行容器,使用命令 "ollama run llama2"(或其他任何模型)。

问题是否是最近的更改引入的?

  • 无响应*

OS

Linux

架构

amd64

平台

Docker, WSL2

Ollama版本

  • 无响应*

GPU

  • 无响应*

GPU信息

  • 无响应*

CPU

Intel

其他软件

  • 无响应*
00jrzges

00jrzges1#

获取完全相同的错误。
操作系统
macOS Sonoma 14.3.1
CPU
Apple M1 Pro
其他软件
无响应
架构
arm64
平台
Docker,Rrollama以及终端
Ollama版本
无响应
GPU
无响应
GPU信息
无响应

goucqfw6

goucqfw62#

作为一个数据点,我运行了上面提到的测试ssl脚本。以下结果应该为错误的配置提供了线索。请注意,URL解析到的有多个IP地址——其中一个似乎比其他更有问题:

$x_1a0b_1x$

8mmmxcuj

8mmmxcuj3#

这仍然是一个问题。

hec6srdp

hec6srdp4#

仍然出现相同的错误!

root@bd6dc4eef5ab:/# ollama pull llama3
pulling manifest 
Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/llama3/manifests/latest": tls: failed to verify certificate: x509: certificate signed by unknown authority

对此有任何进展吗?

n3schb8v

n3schb8v5#

同样的事情也发生在我身上。

  • 我尝试在WSL2 Ubuntu Linux上运行
  • 我也尝试在Windows上的Docker(都给出了相同的错误)

两者都给出了相同的错误:Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/llama3/manifests/latest": tls: failed to verify certificate: x509: certificate signed by unknown authority
我的公司笔记本电脑使用了zscaler,所以这可能有关。但是我在WSL2 Linux证书存储中添加了ZScaler根证书。当我尝试将curl的URL访问时,它运行正常,所以证书是受信任的
以下是我笔记本电脑上完整的命令,如果有人感兴趣的话可以看看:

rosdi@H-TQ0nmTkQIbRhN:~$ ollama run llama3
pulling manifest
Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/llama3/manifests/latest": tls: failed to verify certificate: x509: certificate signed by unknown authority

如您所见下方,wget运行得很好,所以在我机器上的证书已经受信任

rosdi@H-TQ0nmTkQIbRhN:~$ wget https://registry.ollama.ai/v2/library/llama3/manifests/latest
--2024-06-26 13:39:00--  https://registry.ollama.ai/v2/library/llama3/manifests/latest
Resolving registry.ollama.ai (registry.ollama.ai)... 104.21.75.227, 172.67.182.229, 2606:4700:3034::ac43:b6e5, ...
Connecting to registry.ollama.ai (registry.ollama.ai)|104.21.75.227|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 859 [text/plain]
Saving to: ‘latest’

latest                      100%[================================================>]     859  --.-KB/s    in 0s

2024-06-26 13:39:00 (131 MB/s) - ‘latest’ saved [859/859]

我应该补充一点,docker镜像在我个人电脑(没有ZScaler)上运行得很好,只是在我公司的笔记本电脑上出现了这个错误。
我们应该提供一个选项,让ollama忽略不受信任的证书。

myss37ts

myss37ts6#

好的,我通过重建docker镜像解决了这个问题。问题是docker看到了我公司的Zscaler SSL证书,但这个证书没有被信任。
解决方案是将Zscaler根证书添加到ollama docker镜像中,并将其设置为受信任的证书。
如果有人对此感兴趣,我可以将修改后的Dockerfile推送到一个仓库中。

xurqigkl

xurqigkl7#

好的,我之前太傻了。你不需要重建docker镜像来解决这个问题。

  1. 从这里拉取docker镜像:https://hub.docker.com/r/ollama/ollama
  2. 运行那个镜像,然后 docker exec -it <image id> bash
  3. 一旦进入其中,粘贴你们公司的zscaler证书并将其保存在 /usr/local/share/ca-certificates/ 中,如下所示:
$ cd /usr/local/share/ca-certificates/
$ nano your-company-zscaler-cert.crt
<paste the text content of your certificate into nano and save>
  1. 然后运行 update-ca-certificates 以重新加载受信任证书列表
$ update-ca-certificates
  1. 完成后,尝试拉取一个模型,它不再抱怨证书问题
$ ollama pull llama3

这比重建整个docker镜像要容易得多。😅

相关问题