docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda Unable to find image 'ghcr.io/open-webui/open-webui:cuda' locally
时间: 2025-05-23 11:07:15 浏览: 62
### 解决 Docker 报错 "Unable to find image 'ghcr.io/open-webui/open-webui:cuda' locally"
当遇到 `docker: Error response from daemon: pull access denied for ghcr.io/open-webui/open-webui, repository does not exist or may require 'docker login'.` 或者类似的错误提示时,这表明本地未找到指定镜像,并且远程拉取也未能成功。以下是具体的解决方案:
---
#### 方案一:确认镜像名称与标签是否正确
首先需要核实是否存在名为 `ghcr.io/open-webui/open-webui:cuda` 的镜像。可以通过访问 GitHub Packages 页面或联系项目维护人员来验证该镜像的实际可用性。如果发现命名有误,则替换为正确的镜像名,例如:
```bash
docker pull ghcr.io/open-webui/open-webui:main
```
此处假设官方支持的唯一合法标签是 `main` 而非 `cuda`[^4]。
---
#### 方案二:登录到 GHCR 并授权访问
GitHub Container Registry (GHCR) 上的部分私有镜像可能需要身份认证才能下载。执行如下命令完成登录过程:
```bash
echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
```
这里 `$GITHUB_TOKEN` 表示个人访问令牌(PAT),而 `USERNAME` 替代成您的真实用户名。生成 PAT 可参照 [GitHub 文档](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)[^1]。
---
#### 方案三:更换国内加速源
考虑到网络连通性的限制因素,建议切换至国内镜像站点以提高成功率。编辑 `/etc/docker/daemon.json` 文件内容如下所示:
```json
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.com"
]
}
```
保存修改之后记得重启服务生效:
```bash
sudo systemctl restart docker
```
这样便能有效缓解因国际带宽不足引发的一系列问题[^3]。
---
#### 方案四:手动构建替代方案
假如仍然找不到对应版本号的话,不妨考虑自行编译制作所需镜像。按照官方文档指引克隆仓库并安装依赖项即可达成目的:
```bash
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui
pip install -r requirements.txt
```
接着创建自定义 Dockerfile 来打包成果物上传至私人注册表供后续调用[^1]。
---
#### 注意事项
- 若以上措施均无效,请仔细阅读项目的 README.md 文件寻找更多线索。
- 对于企业级生产环境而言,强烈推荐建立专属 Harbor/Kubernetes ClusterRegistry 提升整体稳定性与可控度。
---
阅读全文
相关推荐














