我们知道Docker Registry默认是使用本地文件系统存储镜像文件的,存储路径为
/var/lib/registry
。官方Registry目前尚不支持自动复制和同步镜像功能,因此使用本地单机文件系统保存镜像时可靠性没法保证。为了保证镜像数据的可靠性存储,只能依靠底层存储系统了。可幸的是Docker Registry原生支持多种分布式存储后端,具体信息可参考官方文档,目前官方支持的存储后端列表如下:
filesystem:本地文件系统,默认使用的存储后端
inmemory: 直接保存在内存,不能持久化
azure: 微软存储系统
gcs:Google云存储
S3: AWS对象存储
Openstack Swift
OSS:阿里对象存储
目前官方尚不支持Ceph RGW,不过可以通过Swift API对接RGW来实现。
注意:Docker Registry同时只能支持一个存储后端,不能同时配置多个,否则出错。
配置方法官方有非常详细的文档,用户也可以通过自己实现存储驱动来支持更多的存储系统。
下面以对接Openstack Swift
为例,对接Swift需要指定的必要参考为:
authurl: 认证URL,通常为keystone地址。
tenant: 租户名
admin:用户名