假设dockerhub上有一个用户存储库,其中包含3个映像。图像被标记为A,B和C。这C是我的最新标签。
现在我不知道这些标签。当我这样做时docker pull user/image,这给了我一个错误Tag latest not found in repository docker.io/user/image。如何使用最新标签(C在这种情况下)提取图像。
是的,我绝对同意:最新标签令人困惑。实际上,最新标签不一定指向图像的最新版本。我们来看一下:
1)当您在未指定标签名称的情况下拉取映像时,Docker将尝试拉取标记为“最新”的映像
2)当您在对注册表进行推送操作之前未标记映像时,Docker会自动为其赋予“最新”标记
3)当您对映像进行标记并且听起来就是您正在做的事情时,Docker永远不会标记带有“最新”的内容;然后,您必须手动应用“最新”标签
从我的角度来看,“最新”标签应该是“默认”标签,并且应理解为当在pull命令中未指定标签名称时从注册表中提取的默认映像。
请参阅此答案以获取有关如何应用多个标签的更多信息: 如何在Docker中创建命名和最新标签?
我想我得到了问题的答案:
curl -s -S "https://registry.hub.docker.com/v2/repositories/repo/image/tags/" | jq '."results"[]["name"]'会给我 dockerhub 存储库中所有标签的列表。然后我可以轻松地通过管道来sed -n 1p获取最新的提交。
| 归档时间: |
|
| 查看次数: |
8678 次 |
| 最近记录: |