【问题标题】:What happens to old image in ECR with latest tag when I push a new image with same tag?当我推送具有相同标签的新图像时,ECR 中具有最新标签的旧图像会发生什么情况?
【发布时间】:2022-10-28 21:20:44
【问题描述】:

因此,我是 ECR/ECR 的新手,我已经将带有最新标签的图像推送到我的仓库。但是当我将另一个带有最新标签的图像推送到同一个仓库时会发生什么?旧的标签是否会更改,因为我希望它们在那里。此外,当我编写如下管道时,我无法每次都更改标签。我们是否必须将映像重新部署到 ECS?还是在我们将新图像推送到 ECR 时自动完成?

stage('docker image') {
            steps {
                   sh  ''' #!/bin/bash
                    set -x
                    cd $WORKDIR/search-adapter-service
                    if [[ -f "/home/jenkins/.m2/settings.xml" ]]
                    then
                       mv /home/jenkins/.m2/settings.xml /home/jenkins/.m2/settings.xml_back
                    fi
                    
                    $WORKDIR/apache-maven-3.6.3/bin/mvn clean install                    
                    '''
                    dir("$WORKDIR/search-adapter-service"){
                      script{
                         sh(script: "sudo docker build -t ${DOCKER_REGISTRY_REPO}:latest .")
                         sh(script: "sudo docker push ${DOCKER_REGISTRY_REPO}:latest")

1.我期待它自动更改旧图像的标签。 2. 是否也会自动部署到 ECS 上?一旦我们推动?还是我们需要手动完成?如果可以自动化的话。我们如何做到这一点?

【问题讨论】:

    标签: amazon-web-services docker amazon-ecs aws-fargate amazon-ecr


    【解决方案1】:

    带有latest 标签的旧图像仍会在 ECR 中,它只会删除 latest 标签。如果它有其他标签,那么其他标签仍然可以访问它。如果它没有其他标签,则必须使用 docker 映像 ID(摘要)来解决它。所有这些都在 ECR Web 控制台中可见。

    将新镜像推送到 ECR 时,ECS 不会自动部署。您需要通过以下命令触发 ECS 部署:

    aws ecs update-service --cluster <cluster> --service <service> --force-new-deployment
    

    【讨论】:

    • 谢谢!是的,我现在可以推送到 ECS
    猜你喜欢
    • 1970-01-01
    • 2019-08-03
    • 2019-08-21
    • 1970-01-01
    • 2014-10-20
    • 2015-12-23
    • 2018-04-09
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多