云狐网

您现在的位置是:首页 > IT问答

IT问答

Docker Registry是什么:集中存储与分发镜像的服务

云狐科技 2022-12-23 11:46:49IT问答

Docker Registry 是一个集中存储与分发镜像的服务。构建完 Docker 镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助 Docker Registry 来避免镜像的手动复制。一个 Docker Registry 可包含多个 Docker 仓库,每个仓库可包含多个镜像标签,每个标签对应一个 Docker 镜像。这跟 Maven 的仓库有点类似,如果把 Docker Registry 比作 Maven 仓库的话,那么 Docker 仓库就可理解为某 jar 包的路径,而镜像标签则可理解为 jar 包的版本号。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

Docker Registry 可分为公有 Docker Registry 和私有 Docker Registry。 最常用的 DockerRegistry 莫过于官网的 Docker Hub, 这也是默认的 Docker Registry。 Docker Hub 上存放着大量优秀的镜像, 我们可使用 Docker 命令下载并使用。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

一个 Docker Registry 中可以包含多个 仓库(Repository);每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

以 Ubuntu 镜像 (opens new window)为例,ubuntu 是仓库的名字,其内包含有不同的版本标签,如,16.04, 18.04。我们可以通过 ubuntu:16.04,或者 ubuntu:18.04 来具体指定所需哪个版本的镜像。如果忽略了标签,比如 ubuntu,那将视为 ubuntu:latest。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

仓库名经常以 两段式路径 形式出现,比如 jwilder/nginx-proxy,前者往往意味着 Docker Registry 多用户环境下的用户名,后者则往往是对应的软件名。但这并非绝对,取决于所使用的具体 Docker Registry 的软件或服务。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

Docker Registry 公开服务

Docker Registry 公开服务是开放给用户使用、允许用户管理镜像的 Registry 服务。一般这类公开服务允许用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

最常使用的 Registry 公开服务是官方的 Docker Hub (opens new window),这也是默认的 Registry,并拥有大量的高质量的 官方镜像 (opens new window)。除此以外,还有 Red Hat 的 Quay.io (opens new window);Google 的 Google Container Registry (opens new window),Kubernetes (opens new window)的镜像使用的就是这个服务;代码托管平台 GitHub (opens new window)推出的 ghcr.io (opens new window)。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

由于某些原因,在国内访问这些服务可能会比较慢。国内的一些云服务商提供了针对 Docker Hub 的镜像服务(Registry Mirror),这些镜像服务被称为 加速器。常见的有 阿里云加速器 (opens new window)、DaoCloud 加速器 (opens new window)等。使用加速器会直接从国内的地址下载 Docker Hub 的镜像,比直接从 Docker Hub 下载速度会提高很多。在 安装 Docker 一节中有详细的配置方法。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

国内也有一些云服务商提供类似于 Docker Hub 的公开服务。比如 网易云镜像服务 (opens new window)、DaoCloud 镜像市场 (opens new window)、阿里云镜像库 (opens new window)等。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

私有 Docker Registry

除了使用公开服务外,用户还可以在本地搭建私有 Docker Registry。Docker 官方提供了 Docker Registry (opens new window)镜像,可以直接使用做为私有 Registry 服务。在 私有仓库 一节中,会有进一步的搭建私有 Registry 服务的讲解。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

开源的 Docker Registry 镜像只提供了 Docker Registry API (opens new window)的服务端实现,足以支持 docker 命令,不影响使用。但不包含图形界面,以及镜像维护、用户管理、访问控制等高级功能。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网

除了官方的 Docker Registry 外,还有第三方软件实现了 Docker Registry API,甚至提供了用户界面以及一些高级功能。GfL电脑_数码_手机应用问题解决的IT技术网站 - 云狐网