docker私有镜像仓库和本地镜像镜像仓库的区别?

xet*_*a11 6 docker docker-registry

我心里有一些事情困扰着我。运行时,我会看到Docker 环境中的本地docker images映像列表。拉取图像时,我从注册表中拉取它,更具体地说,拉取存储库管理的指定标签。

  • 所以有注册表作为存储所有图像 存储库的大枢纽
  • 并且存储库正在存储特定图像的提交/标记版本

但那是什么docker images?它也是一个注册表,不是吗?它保存了我在本地构建或拉取的所有图像。

如果我的主张有效:

它如何符合运行私有注册表(此处提到https://docs.docker.com/registry/deploying/

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

所以现在我的注册表中有一个注册表... registception?除了可部署自定义注册表之外,还有什么区别?

yam*_*enk 5

正如其他问题所指出的,它不是本地图像注册表。它是一个图像缓存。图像缓存的目的是避免每次执行 docker run 时都下载相同的图像。

docker images只是列出机器上所有缓存的图像。每当注册表中有更新的映像时,在执行操作时都会下载并缓存映像(某些层)docker pull ...。另外,当本地缓存中存在某个层时,docker 会告诉您,例如:

Step 2/2 : CMD /bin/bash
 ---> Using cache
Run Code Online (Sandbox Code Playgroud)

另一方面,docker 注册表是存储镜像的中央存储库。它提供了一个远程 API 来拉取和推送图像。本地图片缓存没有这个功能。使用本地 docker 命令读取和存储本地缓存中的图像,这些命令只需读取 /var/lib/docker/... 下的文件。