使用docker加速阿里云ECS下载
引言
公司正式服务器在阿里云上,为节省成本;公司购买的是1M小水管.运行服务跑跑网站的时候倒也够用;一旦遇到从服务器下载大文件的需求时就捉急了.
最近服务器上内存占用异常,为分析内存占用原因;需要将dump文件下载下载本地分析.一个dump有6G大,就算压缩后也有500M;
粗算一下也要1H,实际服务器有其它网络请求的情况下我花3小时才下载下来.
那有什么下载加速的方法吗?
解决方案
网络传输受限公网带宽,除了加钱没什么直接方案;不过阿里云内网里面没有网络限制,只要我们找到一种可以内网上传+外网下载不限速的服务就可以了,要是还免费就更佳.
- 文件传输最优方案应该是阿里云盘,毕竟是阿里的云盘;可惜我不知道阿里云盘的内网地址,此方案PASS.
- 还有一种可靠方案,就是对象存储OSS(ECS实例通过OSS内网地址访问OSS资源);临时上传下载要不了多少钱,不过我没有开通此服务,因此此方案优先级较低
- 阿里云还提供有免费的镜像仓库服务,同时它提供内网地址;只要你在内网有linux服务器;通过服务器
docker build push
本地docker pull
就可以间接将文件传回本地
操作步骤
首先在阿里云中开通容器镜像服务,创建命名空间和镜像仓库;在访问凭证中设置固定密码用于账号登录;在基本信息中可查看操作指南;据此可以编写上传下载的命令.
- 阿里云内网linux服务器用于文件上传.
这里我写出我用的命令:
1 |
|
- 本地使用
docker cp
命令将文件拷到本地,
这里贴出我用的powershell命令(windows)
1 |
|
使用docker传输确实略显麻烦,不过临时用用肯定比等三个小时强;毕竟服务器不是每天都需要dump.
同理,腾讯云或者其它的只要提供免费docker服务的一般都可以用此方法.
参考资料
使用docker加速阿里云ECS下载
http://blog.wangshuai.app/2023-06-16-阿里云ECS下载加速/