使用新浪云存储搭建Docker私有仓库服务
来源:互联网 发布:刘洪波四大讲座 知乎 编辑:程序博客网 时间:2024/06/10 03:14
最近使用Docker的同学越来越多。
使用Docker的时候需要了解Registry服务 - 即镜像存储服务。
Registry是一个管理Docker镜像的服务,当使用Docker的Push, Pull等操作时实际上都是与Registry服务进行交互,类似本地Git和远程Git Repository的关系。
DockerHub
作为默认的Registry服务提供非常多的公共镜像,并且为每个注册者提供10个私有Repository。
早些时候在国内访问 DockerHub (前身域名为 index.docker.io) 经常被墙,需要使用代理访问,后来DockerHub改用AWS提供的CloudFront作为CDN服务解决了这个问题,访问速度也有了一定的改善。
我们能不能自己做一个私有的Registry服务?这样有几方面的好处。
- 与业务相关的镜像可以使用私有的Registry,提高安全性。
- 选择稳定的后端存储服务,可以提高数据可靠性,并且访问速度也相对很快。
实际上Docker官方已经有一个开源版Registry服务,Python写的。其后端存储方案有两个。
- 本地存储,适合做开发测试环境用,不建议在生产环境使用。
- AWS S3服务,国内访问速度不是很好。
能不能使用国内存储服务(如新浪云存储
),做一个私有Registry呢?
在进一步了解的过程中,笔者了解到实际上Registry服务本身提供Driver机制,可以整合更多的存储服务整合。
于是,利用中秋休假的时间,写了这样的一个Driver。
https://pypi.python.org/pypi/docker-registry-driver-sinastorage/
安装部署:
- 需要有一个Docker运行环境,如CoreOS, Ubuntu14, CentOS7。
运行如下命令:
# 使用之前申请好的账号Key及想要的Bucket名称,代替YOUR_*部分。docker run -d \ -e SETTINGS_FLAVOR=sinastorage \ -e SINASTORAGE_BUCKET=YOUR_BUCKET \ -e SINASTORAGE_ACCESSKEY=YOUR_ACCESSKEY \ -e SINASTORAGE_SECRETKEY=YOUR_SECRETKEY \ -p 5000:5000 --name registry kerwin/docker-registry-sinastorage
这样命令会在本地启动5000端口的服务, 如何使用:
docker tag ubuntu localhost:5000/ubuntudocker push localhost:5000/ubuntu# 这样上传了一个ubuntu的基本镜像。任何时刻想要用到原来镜像的时候:docker pull localhost:5000/ubuntu
注:
- 每次Commit都是增量备份,所以使用中并不会占用太多的容量,上传下载都很快。
- 若希望看到之前上传的镜像,可以在控制台中的 BUCKET -> repositories -> libraray 中查看。
- Driver本身通过了所有Registry提供的测试用例,笔者自己使用的时候未遇到问题。但性能和稳定性等方面还需优化。不建议立即在生产环境中使用,也欢迎Contribute。
- Github: https://github.com/kerwin/docker-registry-driver-sinastorage
- DockerHub: https://registry.hub.docker.com/u/kerwin/docker-registry-sinastorage/
0 0
- 使用新浪云存储搭建Docker私有仓库服务
- 使用新浪云存储搭建Docker私有仓库服务
- 使用Harbor搭建Docker私有镜像仓库服务
- 使用Harbor搭建Docker私有镜像仓库服务
- 搭建自己的 Docker 私有仓库服务
- Docker搭建私有仓库
- Docker私有仓库搭建
- 搭建Docker私有仓库
- 搭建docker私有仓库
- docker 搭建私有仓库
- 搭建docker私有仓库
- Docker私有仓库搭建
- docker搭建私有仓库
- docker私有仓库搭建
- docker搭建私有仓库
- docker私有仓库搭建
- Docker私有仓库搭建
- Docker私有仓库搭建
- Java 图片剪裁
- 使用友盟消息推送中遇到的哪些问题--索引(开发者必读)
- android 异常错误
- MRv2下作业成功完成后,jobhistory server拒绝链接,解决方案
- 一例千万级pv高性能高并发网站架构
- 使用新浪云存储搭建Docker私有仓库服务
- Android屏幕适配小技巧sw<n>dp
- 自由分页的scrollView
- 使用算法检测异常 - 问题描述
- 并查集详解 (转)
- 修改复选框默认样式
- [leetcode 139] Word Break
- xcode6使用objc_msgsend报错问题
- 1.2学习MFC之控件数据交换UpdateData