docker pull 不会从远程拉取最新的图像

标签 docker aws-ecr docker-pull

我跑了这个:

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 命令没有得到最新的?它默认为最新标签。

最佳答案

更新:
我必须更正我的答案,@David Maze(评论)是对的:我描述了 docker run行为。
来自 Docker 文档:

When using tags, you can docker pull an image again to make sure you have the most up-to-date version of that image


所以你的命令应该有效,我不知道为什么它不起作用,抱歉。
但是,您可以使用标签作为变通方法来强制使用指定标签拉取图像。
docker run (不是 docker pull )首先在您机器上的本地注册表中搜索。如果有标签latest的图片,搜索得到满足并终止。如果带有给定标签的镜像在您的本地注册表中不可用,那么 docker 将在远程注册表中搜索,例如 docker hub 或您自己的。
所以标签latest应谨慎使用。如果您有带有标签的图像 latest在您的本地注册表中,然后您必须先将其删除,因此 docker 一无所获并在远程注册表中搜索。

关于docker pull 不会从远程拉取最新的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56286929/

相关文章:

docker - 如何仅从没有 session 的keras .h5文件获取Tensorflow session

postgresql - docker 中的 pg_dump 服务器和 pg_dump 版本不匹配

docker - 运行容器时如何使用Docker主机名

amazon-web-services - ECR 中的 Docker 图像标记

Docker 无法在代理 TLS 握手超时后拉取图像

docker - 如何运行拉取的图像-Docker

scala - 在Docker中使用WebJars进行SBT增量编译