相比用过Docker的人,一定知道Docker的镜像。Docker的镜像地址分三类:
- Docker官方维护的镜像,镜像地址格式是仓库:标签。典型的比如:
nginx:alpine
。 - Docker官方仓库托管的,由社区用户维护的镜像。镜像地址格式是:命名空间/仓库:标签。典型的比如:
nginx/unit:alpine
。 - 用户自行托管维护的镜像。镜像地址格式是:
域名/命名空间/仓库:标签
,其中命名空间
是可选的,可以没有也可以有很多层。比如:quay.io/coreos/etcd:latest
。
镜像地址会在很多地方出现,比如docker ps
的输出中。如果你用过这些命令,通常就会知道一个短小的镜像地址是有多舒服。
对于镜像的托管,官方是提供免费托管的。不过和Github类似,你的镜像默认是公开镜像(所有人可以pull,但只能你自己可以push)的。每个人只有一个名额是私有镜像。
第三方倒是有很多提供私有镜像托管的,不过使用起来都多有不便。典型的比如AWS、GCP,他们家的需要用他们自己的SDK。再比如阿里云、腾讯云、网易蜂巢,他们倒是可以直接兼容用docker的客户端,但是镜像地址那叫一个长啊。
考虑到比如镜像内容保密、复杂的授权模式(按IP、按范围、按仓库、按时间……),自行搭建镜像服务则成为了首选。
那么怎样自行搭建镜像服务,自行搭建镜像服务时又遇到了那些坑呢?
请关注我们后续的文章:《自行搭建镜像服务的那些坑》