写在前面.
虽然站内有不少教搭建docker镜像加速的, 但是好像没有提到用Render来自建的. 在这里分享下, 就当是多条路多个选择, Render还会免费提供一个域名, 搭建简单. 当做backup也不错.
如果你只是想临时用用, 可以用我已经搭建好的代理域名: dockerproxy-latest-pztf.onrender.com , 使用方法下面有说明.
如果拉取不下来, 可以稍等一会再尝试, 可能是由于实例正在启动, 原因我文末也有说明.
总之在浏览器里访问 https://dockerproxy-latest-pztf.onrender.com/ 如果页面重定向到github, 那就说明此时可以正常拉取了.
一. 注册Render账号
注册地址在这里: https://dashboard.render.com/register
注册没啥难度, 也不需要绑信用卡信息, 主打白嫖无负担.
二. 创建 Web Service
- 注册成功后, 进入控制台, 右上角点击
New
, 选择创建Web Service
.
- 接下来, 选择
Existing Image
, 重点来了, 在Image Url
一栏,
填写:docker.io/tony413/dockerproxy:latest
要一字不差, 这里先感谢 tony413 提供镜像.
点击右下角Connect
补充说明, 如果填写镜像地址后, 出现红色报错字样, 大概是没有权限之类的. 可以在下面那个Credential (Optional)
输入框创建docker的认证信息, 需要你的dockerhub用户名, 和你的dockerhub Access Token 或者密码.
- 再接下来的页面, 有两个选项比较重要:
- Region 选 新加坡 (Singapore). 毕竟离咱们近点,速度快点.
- Instance Type 选 Free ! 啥也不说了, 白嫖党必选.
- 其他啥也不用填, 拉到最后, 点击
Deploy Web Service
接下来就自动进入控制台, 可以看到docker部署的细节.
三. 部署成功, 开始使用
等待部署完成后, 可以看到一个绿色live
的标签, 表示已经部署成功了.
接下来复制保留好Render免费提供给你免费的域名, 这个就是docker镜像加速域名了. 是的, 连域名都给你准备好了. 主打一个省心.
分配给我的域名为: dockerproxy-latest-pztf.onrender.com/ 大家可以随意使用.
四. 使用方法
把这个镜像域名填写在你要拉取的镜像地址前作为前缀即可. 对于dockerhub的镜像需要补全 docker.io/ 例如 :
拉取 stilleshan/frpc:latest
镜像 可以写成:
docker pull dockerproxy-latest-pztf.onrender.com/docker.io/stilleshan/frpc:latest
同样, 使用 docker-compose
时 :
image: dockerproxy-latest-pztf.onrender.com/docker.io/stilleshan/frpc:latest
好了, 可以愉快的拉取镜像了.
五. 注意事项, 关于免费服务器的限制.
- Render 提供的免费实例, 每个月有750小时的免费开机时长, 超过了会自动停机. 每个月会自动重置.
- 实例关机时, 是不消耗免费时长的.
- 对于免费实例, 如果超过15分钟没有针对实例的web请求, 实例会自动进行停机休眠, 不消耗免费时长.
- 对于已经休眠停机的实例, 如果有web请求, 会自动唤醒, 并且开始对外提供服务, 直到下次休眠.
- 所以, 这个用来做个人的docker镜像代理, 还是比较匹配的. 毕竟拉取镜像的操作不是每天都进行. 如果实例休眠了, 多请求几次唤醒实例后, 就可以正常拉取. 对我来说也不是特别不能接受把.
- 快速判断镜像地址是否可用, 可以直接在浏览器中访问你的分配域名, 比如 https://dockerproxy-latest-pztf.onrender.com/ , 如果页面重定向到
github
, 那就说明此时可以正常拉取了.
六.补充说明
楼下有的朋友提供了一些信息, 比如需要绑卡 或者 区域没有新加坡等等.
关于绑卡: 我又测试了几次, 更换了不同的ip, 注册虽然没问题, 但是部署服务的时候确实会弹出绑卡弹窗. 感觉应该是官方就在刚刚加了这一层认证, 估计是被薅怕了. 大家自行斟酌把, 看看要不要填写. 如果有虚拟信用卡到也无妨.
至于区域没有新加坡: 我确实没有复现这种情况, 至少在日本 美国 新加坡 韩国 等节点, 我测试都是有新加坡可以选择的, 如果有人遇到了区域没有新加坡, 可以留言提供一下ip.