Docker镜像命名解析

Posted Edisonxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像命名解析相关的知识,希望对你有一定的参考价值。

镜像是Docker最核心的技术之一,也是应用发布的标准格式。

无论你是用docker pull image,或者是在Dockerfile里面写FROM image

从Docker官方Registry下载镜像应该是Docker操作里面最频繁的动作之一了。

我们需要先了解下docker镜像是如何命名的,这也是Docker里面比较容易令人混淆的一块概念:

Registry,Repository, Tag and Image。

 

下面是在本地机器运行docker images的输出结果:

技术分享

我们可以发现我们常说的“ubuntu”镜像其实不是一个镜像名称,而是代表了一个名为ubuntu的Repository,

同时在这个 Repository下面有一系列打了tag的Image,Image的标记是一个GUID,为了方便也可以通过Repository:tag来引用。

那么Registry又是什么呢?Registry存储镜像数据,并且提供拉取和上传镜像的功能。

Registry中镜像是通过Repository来组织的,而每个Repository又包含了若干个Image。

  • Registry包含一个或多个Repository

  • Repository包含一个或多个Image

  • Image用GUID表示,有一个或多个Tag与之关联

那么在哪里指定Registry呢?让我们再拉取一个更完整命名的镜像吧:

技术分享

上面试图去拉取一个ubuntu镜像,并且指定了Registry为本机搭建的私有Registry。

参考:http://www.oschina.net/news/57894/daocloud

以上是关于Docker镜像命名解析的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins agent Docker 镜像重新命名了,你知道吗?

Docker&Kubernetes ❀ Docker image镜像原理解析与分层理论说明

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

构建docker镜像

docker系列逐行解析Nginx镜像Dockerfile(学习经典)

docker镜像常用命令及解析