首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私人注册表和本地图像注册表之间的差异?

私人注册表和本地图像注册表之间的差异?
EN

Stack Overflow用户
提问于 2017-09-07 13:16:44
回答 3查看 3.5K关注 0票数 4

我脑子里有件事困扰着我。在运行docker images时,我会看到我的本地图像列表,我在对接环境中拥有这些图像。在提取图像时,我从注册表中提取它,更具体地,提取由存储库管理的指定标记。

  • 因此,注册表是存储所有图像存储库()的大中枢。
  • 存储库存储特定映像的提交/标记版本。

那么,docker images是什么呢?它也是一个注册表,不是吗?它保存了所有的图像,我已经建立了当地或拉。

如果我的要求有效:

它如何符合运行私有注册表(在这里提到的https://docs.docker.com/registry/deploying/)

运行这个docker run -d -p 5000:5000 --restart=always --name registry registry:2会将这个新的注册表部署到我的docker images中.

所以现在我在我的注册表里有一个注册表..。注册?除了自定义注册表是可部署的之外,还有什么不同?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-07 17:46:01

它并不像其他问题所指出的那样是本地图像注册中心。它是一个图像缓存。图像缓存的目的是避免每次执行停靠程序运行时都要下载相同的映像。

docker images简单地列出了机器上所有缓存的映像。每当注册表上有较新的图像时,在执行docker pull ...时将下载和缓存映像(某些层)。此外,当本地缓存中存在一个层时,停靠程序会告诉您,例如:

代码语言:javascript
复制
Step 2/2 : CMD /bin/bash
 ---> Using cache

另一方面,码头注册中心是存储图像的中央存储库。它提供了一个远程api来提取和推送图像。本地图像缓存没有此功能。本地缓存中的图像被读取并存储在/var/lib/ docker /.

票数 3
EN

Stack Overflow用户

发布于 2017-09-07 14:06:15

为了清楚起见,可以将Docker远程注册中心(如Docker集线器)看作远程Git存储库。您可以提取您需要的Docker映像(比如git存储库),然后使用它。

与远程Git存储库(如GitHub\BitBucket )一样,Docker注册中心也是公共和私有的。公共注册中心供公众使用和开放源码项目使用。例子包括在类似码头集线器。作为私有注册中心供组织使用或供您自己使用。私有注册中心的示例包括Azure容器注册表、EC2容器注册表等。

正式的Docker映像只是您自己的系统的Docker注册表映像,除非您有服务器或公共Internet IP地址,否则您不能与其他人共享它们。把它想象成。

票数 1
EN

Stack Overflow用户

发布于 2017-09-07 17:33:04

正如您所提到的,本地图像注册表是您在本地构建的所有映像,或者是从注册表公共或私有目录中提取的图像,您可以看到它就像一个本地图像缓存,无需每次下载或重建即可重新使用这些图像。

运行注册表,实际上所做的就是旋转一个实现码头注册处API的服务器,该服务器允许用户推送、拉、删除和处理这些图像及其层的存储。把它看作是一个中央存储库,比如npm,nexus

例如,如果您在your.registry.com:5000中运行注册表

你可以这样做

代码语言:javascript
复制
docker build -t your.registry.com:5000/my-image:tag .
docker push your.registry.com:5000/my-image:tag

这样,其他访问您服务器的人就可以提取它了。

代码语言:javascript
复制
docker pull your.registry.com:5000/my-image:tag
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46097427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档