我有一个私有 AWS ECR 存储库,我在其中推送图像。
我正在运行以下命令来推送图像,
1. docker build -t $REPOSITORY_URL:develop -f ./docker/root/dockerfile .
2. docker push $REPOSITORY_URL:develop
这很有效,我可以在我的存储库中看到一个具有正确图像 URI 和开发标记的新图像。
但是,当我尝试通过使用添加具有不同标签的新图像时
1. docker build -t $REPOSITORY_URL:release -f ./docker/root/dockerfile .
2. docker push $REPOSITORY_URL:release
在我的 ECR 存储库中,我没有看到新图像,但我看到带有两个标签的原始图像。原来的开发标签和现在的发布标签。
我希望,因为我将$REPOSITORY_URL:release
标签定义为发布,所以当我运行docker push $REPOSITORY_URL:release
它时,它将使用新标签推送我的新图像,并且我将能够在我的 ECR 存储库中看到两个图像。
目前,出于测试目的,图像是相同的。我认为这是导致此问题的原因。如果我使用不同的图像运行上述命令,它会按预期工作。
有没有办法防止这种情况发生?例如,在生产中,如果我必须让相同的图像使用不同的标签,它们是否能够按预期推送和工作?