之前没有验证过,一直一厢情愿的认为 latest
标签就是最新的意思。
然而,然而。
它仅仅只是一个叫 latest
的标签而已。
如果说它还有点特殊含义,那就是作为默认标签使用的。
我们试验一下,以 hello-world
镜像为例,我们先把它推送到自己的仓库里,标签取名 1.0.0
1 2 3
| $ docker pull hello-world $ docker tag hello-world wxnacy/hello-world:1.0.0 $ docker push wxnacy/hello-world:1.0.0
|
然后删掉本地的镜像
1
| $ docker image rm wxnacy/hello-world:1.0.0
|
最后试下重新拉取
1 2 3 4 5 6 7 8 9 10 11
| $ docker pull wxnacy/hello-world:latest Error response from daemon: manifest for wxnacy/hello-world:latest not found
$ docker pull wxnacy/hello-world Using default tag: latest Error response from daemon: manifest for wxnacy/hello-world:latest not found
$ docker pull wxnacy/hello-world:1.0.0 1.0.0: Pulling from wxnacy/hello-world Digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 Status: Downloaded newer image for wxnacy/hello-world:1.0.0
|
按照实验结果,只有准确输入标签名 1.0.0
时,才能正确下载镜像
而第二次不使用任何标签拉取时,结果提示 Using default tag: latest
,说明默认标签为 latest
总结一下,Docker 的这个行为还是挺违背常理的,如果是默认标签,使用关键字 default
岂不是更直观。