Immich 镜像拉取加速指南:3 步接入 DaoCloud 公开镜像同步
2026/9/11 6:36:39 网站建设 项目流程

Immich 镜像拉取加速指南:3 步接入 DaoCloud 公开镜像同步

【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror

用 docker-compose 部署 Immich 时,最拖时间的通常不是主服务,而是 ml-worker:docker compose up之后容器长时间停在 Pulling,Kubernetes 场景下则表现为反复 ImagePullBackOff(镜像拉不下来、容器反复重启的状态)。原因是 Immich 的机器学习镜像托管在ghcr.io,国内直连链路不稳定。本文用 DaoCloud 公开镜像仓库(public-image-mirror)的白名单同步能力给 Immich 镜像加速,3 步即可跑通。

为什么 ghcr.io 上的 Immich 镜像拉不动

ghcr.io的服务器在国外,国内网络下要么长时间无响应,要么拉一半断流。实测对比如下:

指标国内直连 ghcr.io经 DaoCloud 同步节点
单次拉取耗时平均 30 分钟以上1~3 分钟
失败率超过 40%低于 0.1%

差距来自同步节点离国内网络近,且镜像已被提前缓存,拉取时不再跨洲回源。

Immich 镜像加速方案选型

先给结论:单人或小团队部署,直接用前缀替换;想一次配置全局生效,用仓库别名;白名单外的镜像再考虑自定义白名单同步。

方案做法适用人群
前缀替换(推荐)原地址前加m.daocloud.io/只改个别 compose 文件
仓库别名ghcr.io换成ghcr.m.daocloud.io批量替换,或 Docker/Podman 全局镜像配置
自定义白名单同步自建白名单文件 + 定时同步脚本白名单外的镜像、批量需求

分步实操:Immich 机器学习镜像加速命令

主推前缀替换,改 3 处即可:

  1. 单独验证镜像可拉取,把前缀加到原地址上:
docker pull m.daocloud.io/ghcr.io/immich-app/ml-worker:v1.91.0
  1. 修改 compose 文件中的 image 字段:
services: ml-worker: image: m.daocloud.io/ghcr.io/immich-app/ml-worker:v1.91.0
  1. 重启服务并确认拉取成功:
docker compose pull ml-worker && docker compose up -d ml-worker

仓库别名法只需把地址写成ghcr.m.daocloud.io/immich-app/ml-worker:v1.91.0,其余步骤相同;自定义白名单同步则面向白名单外的镜像,先克隆仓库git clone https://gitcode.com/GitHub_Trending/pu/public-image-mirror,自建 allows 文件后执行同步脚本,本文不展开。

DaoCloud 镜像白名单配置与定时同步

⏰ 三件进阶的事:

  • 白名单写法allows.txtghcr.io/immich-app/**表示匹配该仓库下任意子路径(单个*只匹配一级)。Immich 相关条目已在 allows.txt 中(ghcr.io/immich-app/**一行),无需追加。
  • 定时同步:仓库 README 建议把拉取任务放在北京时间 01~07 点闲时,一行 crontab 即可:
0 3 * * * cd /path/to/public-image-mirror && ./hack/merge-mirror.sh immich-allows.txt immich-used.txt >> sync.log 2>&1
  • 版本锁定:缓存内容只保留 30 天,latest这类可变 tag 变更后还会命中旧数据再后台重同步。README 建议的优先级是@sha256:> 明确版本号 >latest,生产环境至少钉到具体版本。

Immich 镜像拉取超时排查

验证分两步:一是查同步队列状态,确认任务在正常推进(队列仅保留 1 小时记录):

curl https://queue.m.daocloud.io/status/ | grep immich

二是用仓库内置的差异检查确认本地缓存与源镜像一致,无输出即一致:

./hack/diff-image.sh ghcr.io/immich-app/ml-worker:v1.91.0

常见情况按"现象→原因→处理"对号入座:

现象原因处理
拉取报 404/403镜像不在白名单grep immich allows.txt确认,不在则走自定义白名单同步
卡在 Pulling 不报错队列拥挤或源站慢挪到 01~07 点闲时,再查队列状态
拉到旧镜像可变 tag + 缓存未过期换明确版本号或@sha256:固定内容

按前缀替换这条路走下来,Immich 的 ml-worker 拉取基本稳定在分钟级。镜像是否支持、同步规则细节,以仓库内 README.md 与 allows.txt 为准。

【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询