目前多家大的服务商都提供了免费的Docker容器镜像服务。国内也有一些,比如阿里云,方便国内使用。前一段时间看到一个开源项目,利用容器镜像服务来存放一些文件。上传和下载速度都还不错。这里分享一下
尤其这个开源项目是用到了一种Dart开发语言编写的!Dart 是一个来自Google的为全平台构建快速应用的客户端优化的编程语言。
开源项目
https://github.com/xausky/DockerRegisterCloud
本项目编写仅基于 Docker Registry HTTP API V2 未曾尝试破解或者逆向任何公司服务,用户存储的内容以及隐私性和安全性由用户自己负责以及仓库服务提供商保证,本项目未曾也没有能力负责和保证。
基本功能
1.命令行工具基本功能,登录,文件列表,上传文件,下载文件
2.直接下载,在支持的仓库服务中可以直接在浏览器中实现下载而无需客户端
3.命令行功能优化,重命名文件以及删除文件
4.GUI 客户端,预计包括 Linux, Windows, Mac OS, Android, iOS,本项目使用 Dart 编写,GUI 客户端将使用 Flutter,期待热心小伙伴的帮助。
5.直接下载支持到仓库可以用 Web 版客户端复制永久直链,可用于图床等
支持仓库
客户端
Github:https://github.com/xausky/DockerRegisterCloud/releases
免费仓库
国内
阿里云:https://cr.console.aliyun.com
华为云:https://console.huaweicloud.com/swr
国外
Docker Hub:https://hub.docker.com/
准备工作
1.阿里云账号
2.本地需要下载客户端
操作步骤
这里主要演示利用阿里云的的免费仓库来搭建!!
1.开通阿里云免费的Docker存储
登陆阿里云,然后访问:https://cr.console.aliyun.com
首先要设置登陆密码!这个密码后面会使用到!
2.按照步骤提示注册一个命名空间!
3.新建仓库等!选择我们新建的命名空间!代码源选择本地仓库!
4.新建成功后,复制公网地址。后面我们要使用!
5.运行软件,仓库地址粘贴上面复制的公网地址,然后输入用户名 和密码!
特别提醒:这里的密码不是阿里云的密码,是在第一步设置的密码,请注意!
6.然后就可以愉快的使用啦!
下载演示
其他说明
目前阿里云下载的文件名称都是data,需要自己手动修改文件名以及后缀!
搭建Web端获得永久直链
准备
vps服务器,安装宝塔面板
域名及域名管理服务,绑定到vps服务器ip
过程
在客户端里复制的下载链接是有时效的,为了获得永久链接,最好搭建Web端,看一些教程,采用的是docker搭建方式。
在保证vps服务器配置好docker环境后,命令如下:
docker pull xausky/drcd:master #拉取镜像 docker run -d -p 3000:3000 xausky/drcd:master #左为服务器端口,右为docker容器端口
运行成功后,可以做一下端口检查,使用命令 netstat -tnlp,确认3000端口开启后就可以去宝塔面板操作了。
宝塔面板进行添加网站,填入域名,并进行反向代理。
这样我们访问域名时,其实就能够访问搭建的Web端了,Web端的优势在于可以对资源进行读取查看等操作,复制的下载地址默认也是永久可访问的。
需要注意的是web端地址提交的仓库地址必须要是公开能够访问的,公开仓库复制的下载地址,理论永久访问是没有问题的。
如这个地址资源是数码宝贝的某部剧场版:http://docker.jpengruss.tk/api/download?repository=swr.cn-east-3.myhuaweicloud.com/alizyw/p1&digest=sha256:fe0265ec3007c8486974f6a19b5f1917b70a1d568aa79a21f38f9e13b2077b0e
大家也可以用现成搭建好的,整理几个:
https://docker.jpengruss.tk/
http://drcd.xausky.cn/#/
小细节
下载一般需要改成文件原来的名字才能使用,阿里云仓库下载的默认是data,华为云则是layer,改成自己的即可。
写在最后
这个项目其实只适合简单用用,滥用不好,毕竟是为开发者提供的,所以其稳定性到底如何,还有待进一步观察了。
如果大家对这类话题感兴趣,或者在使用过程中遇到什么问题,欢迎联系留言交流讨论,希望给大家带来帮助。