Rancher在local的system里面的容器拉不到镜像


我这边在本地拉取这个镜像是没问题的,你到日志里看看拉取失败的原因吧

我遇到同样问题,如果不加持久卷参数-v /opt/rancher:/var/lib/rancher/ 启动没有问题,加上这个参数后,卡在helm、coredns这里,外面看是从国内阿里云拉取,日志显示这两个镜像还是从docker.io拉取,记得离线文章里说过rancher/coredns-coredns 、rancher/pause是Rancher Server内置的镜像,但是持久化后,这个镜像地址拉取无法修改。


我的启动命令
docker run -d --restart=unless-stopped --name rancher --privileged -v /opt/rancher:/var/lib/rancher/ -p 8080:80 -p 8443:443 -v /opt/ssl/tls.crt:/etc/rancher/ssl/cert.pem -v /opt/ssl/tls.key:/etc/rancher/ssl/key.pem -v /opt/ssl/cacerts.pem:/etc/rancher/ssl/cacerts.pem -e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.5.16

docker run 启动的 rancher 确实有这个问题,因为 coredns 和 pause 的离线镜像 tar 文件 默认放在了 /var/lib/rancher/k3s/agent/images/ 目录下,当内置的 K3s 启动后,会自动加载这两个镜像。

但是如果/var/lib/rancher/ 目录映射到本地之后,容器中的 /var/lib/rancher/ 就位空了,所以需要在线拉取这两个镜像了。

非常感谢解答~我给/var/lib/rancher/k3s/agent/images/k3s-airgap-images.tar镜像打包拿出来