教你如何快捷的查询选择网络仓库镜像tag

中医治疗白癜风的价格 http://m.39.net/disease/a_5419382.html

我们从dockerhub上默认情况下会拉取tag为latest的镜像,如果我们不想一页一页的翻看所有的tag,那么我们如何自由快捷的查询选择需要的tag呢?少年,快上车,我们一起盘它!

我们本地启动一个容器的话,直接通过以下命令即可快速启动(以elasticsearch的镜像为例)。

dockerrun-it-p:\-p:\-v/app/mdtzjt/:/app/\--namemdtzjt\elasticsearch/elasticsearch

执行dockerrun命令最后一个参数是镜像名称,一般情况下镜像命名遵循Registry/Repository/Image:tag规则,各部分含义如下

Registry:统一的DockerRegistry地址。

Repository:镜像仓库,用来管理一类镜像。

Image:具体的镜像名称。

tag:具体的镜像标签。

我们执行上面的命令的时候,就会到dockerhub默认的Registry上去拉取Repository名为elasticsearch且Image名为elasticsearch的镜像,镜像可能会存在多个版本的tag,默认情况下会拉取tag为latest的镜像。这里Registry/Repository/Image都比较好找,但是镜像存在哪些版本我们就比较难找了,是的,我们可以一页一页的翻看所有的tag,但是这样的话效率就比较低下。我在网络上找到一个比较快捷的方法,基本思路就是用docker官方提供的API接口对指定镜像进行查询,对接口数据进行处理后即可得到所有的tag,这样就大大提高了效率。下面我就和大家一起分享下,中间过程需要用到sed、awk等相关知识。

一、代码如下(dockertags.sh):

#!/bin/bashfunctionusage(){catHELPdockertags--listalltagsforaDockerimageonaremoteregistry.EXAMPLE:-listalltagsforubuntu:dockertagsubuntu-listallphptagscontainingapache:dockertagsphpapacheHELP}if[#-lt1];thenusageexitfiimage="1"tags=`wget-q


转载请注明:http://www.aierlanlan.com/rzdk/3240.html