AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## Docker Registry 镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,[Docker Registry](https://yeasy.gitbooks.io/docker_practice/repository/registry.html)就是这样的服务。 一个**Docker Registry**中可以包含多个**仓库**(`Repository`);每个仓库可以包含多个**标签**(`Tag`);每个标签对应一个镜像。 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过`<仓库名>:<标签>`的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以`latest`作为默认标签。 以[Ubuntu 镜像](https://hub.docker.com/_/ubuntu)为例,`ubuntu`是仓库的名字,其内包含有不同的版本标签,如,`16.04`,`18.04`。我们可以通过`ubuntu:14.04`,或者`ubuntu:18.04`来具体指定所需哪个版本的镜像。如果忽略了标签,比如`ubuntu`,那将视为`ubuntu:latest`。 仓库名经常以*两段式路径*形式出现,比如`jwilder/nginx-proxy`,前者往往意味着 Docker Registry 多用户环境下的用户名,后者则往往是对应的软件名。但这并非绝对,取决于所使用的具体 Docker Registry 的软件或服务。 ### Docker Registry 公开服务 Docker Registry 公开服务是开放给用户使用、允许用户管理镜像的 Registry 服务。一般这类公开服务允许用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。 最常使用的 Registry 公开服务是官方的[Docker Hub](https://hub.docker.com/),这也是默认的 Registry,并拥有大量的高质量的官方镜像。除此以外,还有[CoreOS](https://coreos.com/)的[Quay.io](https://quay.io/repository/),CoreOS 相关的镜像存储在这里;Google 的[Google Container Registry](https://cloud.google.com/container-registry/),[Kubernetes](https://kubernetes.io/)的镜像使用的就是这个服务。 由于某些原因,在国内访问这些服务可能会比较慢。国内的一些云服务商提供了针对 Docker Hub 的镜像服务(`Registry Mirror`),这些镜像服务被称为**加速器**。常见的有[阿里云加速器](https://cr.console.aliyun.com/#/accelerator)、[DaoCloud 加速器](https://www.daocloud.io/mirror#accelerator-doc)等。使用加速器会直接从国内的地址下载 Docker Hub 的镜像,比直接从 Docker Hub 下载速度会提高很多。在[安装 Docker](https://yeasy.gitbooks.io/docker_practice/install/mirror.html)一节中有详细的配置方法。 国内也有一些云服务商提供类似于 Docker Hub 的公开服务。比如[时速云镜像仓库](https://hub.tenxcloud.com/)、[网易云镜像服务](https://c.163.com/hub#/m/library/)、[DaoCloud 镜像市场](https://hub.daocloud.io/)、[阿里云镜像库](https://cr.console.aliyun.com/)等。 ### 私有 Docker Registry 除了使用公开服务外,用户还可以在本地搭建私有 Docker Registry。Docker 官方提供了[Docker Registry](https://hub.docker.com/_/registry/)镜像,可以直接使用做为私有 Registry 服务。在[私有仓库](https://yeasy.gitbooks.io/docker_practice/repository/registry.html)一节中,会有进一步的搭建私有 Registry 服务的讲解。 开源的 Docker Registry 镜像只提供了[Docker Registry API](https://docs.docker.com/registry/spec/api/)的服务端实现,足以支持`docker`命令,不影响使用。但不包含图形界面,以及镜像维护、用户管理、访问控制等高级功能。在官方的商业化版本[Docker Trusted Registry](https://docs.docker.com/datacenter/dtr/2.0/)中,提供了这些高级功能。 除了官方的 Docker Registry 外,还有第三方软件实现了 Docker Registry API,甚至提供了用户界面以及一些高级功能。比如,[VMWare Harbor](https://github.com/goharbor/harbor)和[Sonatype Nexus](https://yeasy.gitbooks.io/docker_practice/repository/nexus3_registry.html)。