Rainbond镜像拉取问题及解决方案

302 阅读2分钟

最近我在使用华为的Flexus应用服务器时,遇到了一个关于Docker镜像拉取的问题。我的服务器配置是 4C8G,虽然看上去不算强大,但我还是希望能顺利运行 Rainbond 的 Docker 版本。根据安装教程,我开始了安装。

安装遇到的问题

首先,我安装了 Loki,但在使用 Grafana 时,却发现它根本找不到容器的日志资源。我用以下命令查看 Pods 状态:

kubectl get pods -n default

结果我发现 Promtail 组件的拉取失败了。 image.png

为了查明原因,我执行了下面这条命令查看详细信息:

kubectl describe pod promtail-daemonset-8ns24 -n default

错误日志分析

从日志中,我看到如下错误信息:

Failed to pull image "grafana/promtail:2.7.3": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/grafana/promtail:2.7.3": failed to resolve reference "docker.io/grafana/promtail:2.7.3": unexpected status from HEAD request to https://dockerhub.azk8s.cn/v2/grafana/promtail/manifests/2.7.3?ns=docker.io: 403 Forbidden

这个错误显示 dockerhub.azk8s.cn 服务有问题。经过搜索,我了解到今年年底各大云厂商对镜像加速服务的政策逐渐收紧,有些直接停止支持。

寻找替代方案

无奈之下,我开始寻找新的加速服务。在 B 站上,我找到了一些可用的服务,过程详见另一篇文章,如何解决 Docker 镜像无法拉取的问题

更改配置

有了新加速服务后,我需要修改相应的配置。首先检查本机的 /etc/docker/daemon.json 文件,结果发现并没有包含 https://dockerhub.azk8s.cn 这个地址。这时我突然想到,由于 Docker 版的 Rainbond 是基于 K3S 部署的,所以应该查看 K3S 的配置。

最终我找到 K3S 的配置文件:

/var/lib/docker/overlay2/676c9858ae8ea7dbcd70dae5a7f6a90b72c901fe229278884a46ca3a0c1e0153/merged/etc/rancher/k3s/registries.yaml

果然,在这个文件中找到了 https://dockerhub.azk8s.cn 的设置。我把它修改为可用的新服务地址,然后重启 Docker 服务。

这样一来,问题就成功解决啦!


希望通过这个经验分享,大家在使用 Docker 和 K3S 时能够更顺利,如果遇到类似问题,不妨试试我的方法哦!