Docker注册表和存储库之间的区别

Kin*_*ere 122 docker

我对docker注册表和存储库之间的区别感到困惑.似乎Docker文档可以互换使用这两个词.此外,存储库有时也称为图像,例如来自其文档的图像:

为了将存储库推送到其注册表,您需要命名一个映像或将容器提交到我们在此处看到的命名映像.

现在,您可以将此存储库推送到由其名称或标记指定的注册表中.

如何将存储库推送到注册表?你不是把图像推到存储库吗?

Nem*_*vic 142

Docker注册表是一种存储docker镜像的服务.

Docker注册表可以由第三方托管,作为公共或私有注册表,如下列注册表之一:

或者您可以自己托管docker注册表
(有关详细信息,请参阅https://docs.docker.com/docker-trusted-registry/).

Docker存储库是具有相同名称的不同docker镜像的集合,具有不同的标记.Tag是存储库中图像的字母数字标识符.

例如,请参阅https://hub.docker.com/r/library/python/tags/.官方python图像有许多不同的标签,这些标签都是Docker Hub上官方python存储库的成员.Docker Hub是Docker托管的Docker注册表.

要了解更多信息:

  • Artifactory是一个添加到列表;)我们使用它 (9认同)
  • 这就是 Artifactory 的链接 - https://www.jfrog.com/confluence/display/RTF/Docker+Registry (3认同)
  • docker中的存储库和镜像有什么区别? (2认同)
  • 为什么单个图像有多个标签是有意义的? (2认同)

小智 56

使用Docker,使用容器开发和部署软件一书

注册表,存储库,图像和标签

存在用于存储图像的分层系统.使用以下术语:

注册处

负责托管和分发图像的服务.默认注册表是Docker Hub.

知识库

相关图像的集合(通常提供相同应用程序或服务的不同版本).

标签

附加到存储库(例如,14.04或稳定版)内的图像的字母数字标识符.

因此,该命令docker pull amouat/revealjs:latest将从amouat/revealjsDocker Hub注册表下载存储库中最新标记的映像.


Pau*_*son 10

补充信息:

  • 您通常将存储库推送到注册表(以及作为其一部分的所有图像).但您可以将单个图像推送到注册表.在所有情况下,您使用docker push.
  • 图像具有12个十六进制数字的图像ID,但也可通过以下方式识别: namespace/repo-name:tag
  • 图像全名可以选择以注册表主机名和端口为前缀: myregistryhost:5000/namespace/repo-name:tag
  • 一个常见的命名约定是使用您的注册表用户名作为我称之为"命名空间"的名称.

  • 我得到你所说的,但从技术上讲,没有"图像名称"这样的东西.根据[Docker文档](https://docs.docker.com/docker-hub/repos/#pushing-a-repository-image-to-,格式应为`user-name/repo-name:tag`.搬运工集线器).(我希望Docker使用更好的术语,它非常令人困惑,而且它们一直都不一致). (3认同)