Docker Registry 使用OSS存储镜像

Docker Registry 使用OSS存储镜像

Docker Registry 作为 Docker 的核心组件之一负责镜像的存储以及分发。用户只需要使用 Docker 的客户端就可以直接和 Registry 进行交互,下载和上传镜像。

最初版本的 Registry 由 Python 实现。由于设计初期在安全性,性能以及 API 的设计上有着诸多的缺陷,该版本在 0.9 之后停止了开发。新的项目由 Go 语言开发,所有的API,底层存储方式,系统架构都进行了全面的重新设计已解决上一代 Registry 中存在的问题。

对象存储服务OSS是海量高可靠的云存储服务,不限文件数量和大小,可以根据所需存储量无限扩展存储空间,特别适合非结构化大文件的业务场景。Docker支持OSS作为镜像的存储介质,为镜像的下载和上传提供便捷的渠道。Docker Registry 使用OSS存储镜像的配置过程如下:

一、准备工作:安装docker
1、安装 Docker Engine
命令:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

2、安装 Docker Compose
命令:sudo curl -sSL http://mirrors.aliyun.com/docker-toolbox/linux/compose/1.7.1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
sudo chmod a+x /usr/local/bin/docker-compose

3、配置加速器,下载 Registry 镜像
命令:docker pull registry:2.4.1

二、部署私有 Docker Registry
1、为 Registry 相关的配置新建一个单独的目录
命令:mkdir registry && cd registry

2、在当前目录下新建我们的账户密码(最简单的账户验证方式)
命令:mkdir auth
htpasswd -Bbn admin 123456 > auth/htpasswd

3、当前目录下新建我们的容器编排文件 docker-compose.yml
这个文件中的一些OSS相关的信息,例如AK、Bucket,需要用户根据自己的情况填写。
命令:


在docker官网中也给出了接入Aliyun OSS的配置项及其详细信息:https://docs.docker.com/registry/storage-drivers/oss/?spm=5176.100239.blogcont7585.14.OScRv1

可以看到accesskeyid、accesskeysecret、region、bucket为必填项,其中endpoint也必须填写正确。

在这里,endpoint的配置和以前不同。在常规的Java SDK 、Python SDK中,endpoint的配置为不加bucketName。

但在go SDK中,endpoint必须要加上bucketName才能正确访问。即在docker中配置为endpoint为bucketName+endpoint。

4、启动 Registry
命令:# 如果你不需要看日志的话,可以加 -d 参数后台启动
docker-compose up
如果启动成功会看到控制台打印出容器监听5000端口的信息

5、服务端测试
测试的步骤是:创建一个新的镜像,然后登陆Registry,最后上传。
命令:
docker tag registry:2.4.1 127.0.0.1/test/registry
docker login 127.0.0.1
docker push 127.0.0.1/test/registry
登陆 OSS 的控制台,看看Bucket里面是否有新增的内容。

附录
安装参考:基于OSS搭建私有 Docker Registry:https://yq.aliyun.com/articles/57310?spm=5176.100239.blogcont66478.15.gPeWCc#
安装参考:搭建私有docker仓库并使用OSS作为存储:https://yq.aliyun.com/articles/66478?spm=5176.100240.searchblog.56.AwUBNY#
使用参考:使用Docker运行Java Web应用:https://yq.aliyun.com/articles/6894?spm=5176.100239.blogcont57839.18.KjUNNL#

此文结束~

推荐阅读更多精彩内容