当前位置: 首页 > news >正文

Dify1.8.0更新,Docker 无法拉取镜像怎么破?

前两天预告了 Dify 1.8.0的更新, 最落地的功能是 单个模型的多凭证(API-KEY)管理

前言

过了48h,官网正式发布Dify v1.8.0。

然后在服务器上更新时报错:“Docker 无法从 Docker Hub 拉取镜像”,即使配置了国内镜像源,即使配置了DNS

~ dify-1.8.0/docker$ sudo docker compose up -d
[+] Running 3/3✘ worker_beat Error Get "https://registry-1.docker.io/v2/": context deadline exceeded   15.9s! api      Interrupted   15.9s! worker   Interrupted   15.9s
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

问题说明worker 容器拉取镜像失败。

docker配置:/etc/docker/daemon.json

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://smo4u0za.mirror.aliyuncs.com"]
}

如果你也遇到这样的问题,也不方便配置代理。
可以尝试两个方案: 手动推送镜像到阿里云,或 手动中转

方案1. 手动推送镜像到阿里云

假设咱有两台机子:

  • 服务器A —— 能拉取镜像
  • 服务器B —— 不能拉取镜像

我们要在服务器A上拉取–推送成功后,服务器B上进行拉取。

1. 创建命名空间

开通阿里云的容器镜像服务【个人版实例】,创建1个命名空间

设置访问凭证密码

记录下登录命令docker login
“crpi-ihwfu8i46xx-.com” 是[个人实例的访问域名],登录自己的阿里云账户查看。

2. 在服务器A上推送镜像

2.1 登录阿里云镜像仓库

用这个命令登录仓库

sudo docker login --username=aliyun4043126316 crpi-ihwfu8i46mbaeahj.cn-hangzhou.personal.cr.aliyuncs.com
2.2 拉取 Docker Hub 镜像

在能拉取镜像的机子上拉取镜像

sudo docker pull langgenius/dify-api:1.8.0
2.3 给镜像打 tag

换成你的命名空间和仓库名,比如 dify18/dify-api

sudo docker tag langgenius/dify-api:1.8.0 crpi-ihwfu8i46mbaeahj.cn-hangzhou.personal.cr.aliyuncs.com/dify/dify-api:1.8.0

格式一般是:

sudo docker tag [本地镜像] [个人实例的访问域名]/[命名空间]/[镜像名称:镜像版本号]
2.4 推送到阿里云

push 的就是 tag 后面一串,完整的阿里云镜像路径

docker push crpi-ihwfu8i46mbaeahj.cn-hangzhou.personal.cr.aliyuncs.com/dify/dify-api:1.8.0

3.在服务器B上拉取镜像

先参考 #2.1 登录仓库,再拉取

docker pull crpi-ihwfu8i46mbaeahj.cn-hangzhou.personal.cr.aliyuncs.com/dify/dify-api:1.8.0

docker ps 就能看到dify-api:1.8.0镜像了

打开 dify\docker\docker-compose.yaml
将 3处 “langgenius/dify-api:1.8.0” 都替换成 “crpi-ihwfu8i46mbaeahj.cn-hangzhou.personal.cr.aliyuncs.com/dify18/dify-api:1.8.0”

最后docker compose成功

sudo docker compose -p dify180 up -d
[+] Running 13/13✔ Network dify180_default             Created 0.1s ✔ Network dify180_ssrf_proxy_network  Created 0.0s ✔ Container dify180-redis-1           Started 0.3s ✔ Container dify180-web-1             Started 0.3s ✔ Container dify180-sandbox-1         Started 0.3s ✔ Container dify180-weaviate-1        Started 0.3s ✔ Container dify180-db-1              Healthy 2.8s ✔ Container dify180-ssrf_proxy-1      Started 0.3s ✔ Container dify180-plugin_daemon-1   Started 3.0s ✔ Container dify180-api-1             Started 3.0s ✔ Container dify180-worker_beat-1     Started 3.0s ✔ Container dify180-worker-1          Started 3.0s ✔ Container dify180-nginx-1           Started 3.3s

方案2. 手动中转

在能访问 Docker Hub 的环境先拉下来,再导出/导入:

## 服务器A上操作
docker pull langgenius/dify-api:1.8.0
docker save langgenius/dify-api:1.8.0 -o dify-api.tar
scp dify-api.tar [服务器B]:/tmp## 服务器B上操作
docker load -i /tmp/dify-api.tar

小结

如果你只需要解决 单个镜像,只需要导入一次,用 方案 2 手动中转 就行;
如果要长期使用dify,长期更新镜像,导入到多个机子,✅推荐用 方案1 推送阿里云再导入


以上是Dify更新过程中遇到的docker问题,以及相关解决方案,希望对你有所帮助!

实践出真知,与君共勉

http://www.dtcms.com/a/356799.html

相关文章:

  • 【大模型13】 视觉大模型与多模态
  • 部署2.516.2版本的jenkins,同时适配jdk8
  • 【ACP】2025-最新-疑难题解析-9
  • 技术速递|新手指南:如何在 Foundry Local 中使用自定义模型
  • 趣味学Rust基础篇(控制流程)
  • 关于Libvio访问异常排查指南
  • 2025互联网大厂Java面试1000道题目及参考答案
  • openEuler系统实现MySQL数据库主从复制
  • Java 流(Stream)、文件(File)和IO
  • NSSCTF-[NISACTF 2022]string_WP
  • 第6.4节:awk语言 for 语句
  • Linux 软件编程(十四)网络编程:数据存储与 SQLite 数据库
  • (二)Python语法基础(下)
  • web端播放flv视频流demo(flv.js的使用)
  • 【C语言16天强化训练】从基础入门到进阶:Day 15
  • 量化研究--开放ptrade西蒙斯全天候ETF策略动量策略
  • 一文说清楚ABAP中的‘显示提交(Explicit Commit)’和‘隐式提交(Implicit Commit)’
  • CesiumJS 封装 - 初始化与配置
  • Ubuntu 搭建 Solana 区块链开发环境 + Anchor 智能合约完整教程
  • 2025年防窜货系统行业深度分析报告
  • 将数据赋值到Word并下载
  • Cesium 入门教程(十三):粒子系统实例
  • 无人机中的坐标系理解:机体坐标系,东北天(NED)坐标系,世界大地(WGS84)坐标系
  • Python的一次实际应用:利用Python操作Word文档的页码
  • AI 与脑机接口的交叉融合:当机器 “读懂” 大脑信号,医疗将迎来哪些变革?
  • CPP学习之map和set
  • 渗透测试学习笔记
  • 【论文阅读】SegCLIP:用于高分辨率遥感图像语义分割的多模态视觉语言和快速学习
  • Minio临时地址访问资源提示SignatureDoesNotMatch问题记录
  • gdb打印长字符产变量信息