Home Assistant 镜像拉取失败?3步改地址用 DaoCloud 镜像加速快速搞定(完整指南)
【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror
docker pull进度条卡半天 0%,终端刷出超时错误?Home Assistant 镜像放在国外 docker.io,国内网络卡在“最后一公里”。DaoCloud 镜像加速派上用场:public-image-mirror是一个公益性质的镜像同步服务,把白名单内的开源镜像同步到国内加速节点,按需回源、原样返回。
先跑通:Home Assistant docker 部署最短路径
结论先行:原地址加个前缀,其余照官方部署走即可。
第 1 步,改镜像地址:
docker.io/homeassistant/home-assistant:latest ↓ 加前缀 m.daocloud.io/docker.io/homeassistant/home-assistant:latest第 2 步,拉取加速镜像:
docker pull m.daocloud.io/docker.io/homeassistant/home-assistant:latest第 3 步,启动容器:
docker run -d \ --name home-assistant \ --privileged \ --restart=unless-stopped \ -e TZ=Asia/Shanghai \ -v /path/to/your/config:/config \ -p 8123:8123 \ m.daocloud.io/docker.io/homeassistant/home-assistant:latest第 4 步,验证:浏览器打开http://localhost:8123,能看到 Home Assistant 初始化页面就算成功。⚡
为什么可行:背后的 3 个机制
白名单 allows.txt 决定你能不能被加速
服务不是来者不拒,只有白名单内的镜像才会被同步。名单就是项目里的allows.txt文件,一行一条规则,例如:
docker.io/homeassistant/*这行表示homeassistant命名空间下的镜像全部放行。某个镜像能否被加速,由hack/verify-allows.sh判定,匹配逻辑一句话概括:以**结尾的行可跨多级子目录匹配,以单个*结尾的只匹配同级,核心片段如下:
if [[ "${line}" == *"**" ]]; then if [[ "${image}" == "${line%\*\*}"* ]]; then return 0 fi elif [[ "${line}" == *"*" ]]; then # 单个 * 后若还出现 "/" 则拒绝 fi把镜像地址改成加速地址的两种写法
除了“加前缀”,还有“替换域名”,任选其一:
| 写法 | 示例 |
|---|---|
| 添加前缀(推荐) | m.daocloud.io/docker.io/homeassistant/home-assistant:latest |
| 替换域名 | docker.m.daocloud.io/homeassistant/home-assistant:latest |
替换规则是人工配置的:docker.io→docker.m.daocloud.io,gcr.io→gcr.m.daocloud.io,ghcr.io→ghcr.m.daocloud.io。
懒加载:有人要才去源站取
它不做全量搬运:国内用户首次请求某镜像时,系统才从源站拉取并缓存。缓存内容与源站 sha256 完全一致,保留 30 天,过期后重新同步。每张镜像的实时进度可以在 DaoCloud 官方同步队列页面查看。
避坑清单:docker 镜像加速 404 与 4 个高频问题
404 出现时先做这三件事
拉取报 404,多半是“同步还没完成”。按顺序来:① 隔几分钟重试;② 到同步队列页面看该镜像同步到哪一步;③ 仍不行就提 Issue 反馈。🛠
同步延迟约 1 小时,别当成故障
Manifest 内存缓存保留 1 小时,源站新 tag 更新后约 1 小时才会生效。新镜像刚发布时拉不到,稍等再试即可。
别随手用 latest 标签
latest这类可变 tag 在源站变更后,会先响应旧数据,同时触发后台重新同步。建议优先@sha256:,其次用明确版本 tag(如:2023.12.3),最后才考虑 latest。
大拉取挪到闲时:北京时间 01:00-07:00
其他时段带宽拥挤,能选时间就把 pull 任务排在凌晨,速度会稳定不少。⏰
收尾:这个服务还顺带帮你解决什么
public-image-mirror 的价值在于把“源仓库远”变成“到国内节点近”:白名单管控、按需懒加载、30 天缓存,且不改一行部署代码。目前allows.txt已收录 800+ 条镜像规则,覆盖 Kubernetes、Ollama、MySQL 等热门项目。如果你的镜像不在列表里,直接去项目 Issues 提交申请,维护团队会按社区需求评估加入。
【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考