我跑了这个
docker pull 91xxxxx371.dkr.ecr.us-west-2.amazonaws.com/main_api
并没有什么新内容,但是我知道AWS / ECR上有新图像。 所以我删除了现有的图像:
docker rmi 91xxxxx371.dkr.ecr.us-west-2.amazonaws.com/main_api
然后再次拉出,当然它说它检索了新图像,但这可能只是因为我删除了本地标签/图像或其他内容。
为什么第一个pull命令没有获得最新的?默认为最新标签。
答案 0 :(得分:2)
更新:
我必须纠正我的答案,@ David Maze(评论)是正确的:我描述了docker run
的行为。
来自Docker文档:
使用标签时,您可以通过docker再次拉取图像以确保您拥有该图像的最新版本
所以您的命令应该起作用,不知道为什么不对不起。 但是,您仍然可以将其用作解决方法标签,以强制使用指定的标签提取图像。
docker run
(而非docker pull
)首先在计算机上的本地注册表中搜索。如果存在带有标签latest
的图像,则搜索会满足并终止。如果具有给定标签的图像不在您的本地注册表docker中,请在外部注册表(例如docker hub或您自己的)上搜索。
因此,标签latest
的使用非常谨慎。如果您在本地注册表上有一个标签为latest
的Image,则必须先将其删除,以便docker没有发现任何内容并在外部进行下一步搜索。