多平台容器镜像缓存加速代理服务,支持 Docker Hub, GitHub, Google, k8s, Quay, 等镜像仓库.
- 支持一键部署一个可用的镜像仓库,支持所有常见外部镜像仓库
- 支持多种客户端加速,如
docker-cli
crictl
podman
- ...
1.1. 登入 Render
1.2. 创建服务
1.3. 选择镜像部署方式部署,使用镜像 imdingtalk/registry-mirror:v1.2
, 随便取一个名字,随后会根据名称分配一个xxxx.onrender.com
域名,后续作为Registry Mirrors
配置到不同的docker
客户端,
1.4. 其他不用配置,直接创建
1.5. 使用该域名作为我们的镜像加速服务
- 配置
/etc/docker/daemon.json
"registry-mirrors": ["https://xxxx.onrender.com"],
systemctl restart docker
2. 使用
#对于一个dockerhub上的镜像,如 nginx:1.27 , 可以直接pull
docker pull nginx:1.27
#对于非dockerhub的镜像,由于docker客户端默认只支持中心仓库(即docker.io)的mirror配置,故需要加你的域名前缀
如: registry.k8s.io/kube-proxy:v1.28.4
可以通过以下命令pull
docker pull xxx.onrender.com/registry.k8s.io/kube-proxy:v1.28.4
- 配置
Containerd 较简单,它支持任意registry
的mirror
,只需要修改配置文件/etc/containerd/config.toml
,添加如下的配置:
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://xxxx.onrender.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
endpoint = ["https://xxxx.onrender.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
endpoint = ["https://xxxx.onrender.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"]
endpoint = ["https://xxxx.onrender.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
endpoint = ["https://xxxx.onrender.com"]
- 使用
可以直接pull
配置了mirror
的仓库
crictl pull registry.k8s.io/kube-proxy:v1.28.4
Podman
同样支持任意 registry
的 mirror
,修改配置文件 /etc/containers/registries.conf
,添加配置:
unqualified-search-registries = ['docker.io', 'k8s.gcr.io', 'gcr.io', 'ghcr.io', 'quay.io']
[[registry]]
prefix = "docker.io"
insecure = true
location = "registry-1.docker.io"
[[registry.mirror]]
location = "https://xxxx.onrender.com"
[[registry]]
prefix = "k8s.gcr.io"
insecure = true
location = "k8s.gcr.io"
[[registry.mirror]]
location = "https://xxxx.onrender.com"
[[registry]]
prefix = "gcr.io"
insecure = true
location = "gcr.io"
[[registry.mirror]]
location = "https://xxxx.onrender.com"
[[registry]]
prefix = "ghcr.io"
insecure = true
location = "ghcr.io"
[[registry.mirror]]
location = "https://xxxx.onrender.com"
[[registry]]
prefix = "quay.io"
insecure = true
location = "quay.io"
[[registry.mirror]]
location = "https://xxxx.onrender.com"
见: https://docs.docker.com/docker-hub/mirror/
免费实例有使用限制,但是看起来个人使用是足够的
详细见:
https://docs.render.com/free
https://render.com/pricing
当一个免费服务在没有收到入站流量的情况下闲置超过15分钟,Render会将其关闭。当服务接收到处理请求时,Render会重新启动该服务。
重新启动服务可能需要长达一分钟的时间,这会导致在服务完全启动运行前,入站请求出现明显的延迟。例如,浏览器页面加载可能会暂时挂起。
Render每月向每个用户和团队授予750个免费实例小时:
- 只要免费服务在运行中,这些小时数就会被消耗(关闭的服务不会消耗免费实例小时)。
- 如果在某个月内消耗了所有的免费实例小时,Render将暂停所有的免费服务,直到下个月开始。
- 每月初,免费实例小时会重置为750(剩余小时数不会结转至下一月)。
- 免费带宽每月100GB