0

我正在使用命令运行 moto 服务器

moto_server ecr -p 5000 -H 0.0.0.0

我使用带有命令的 moto 服务器创建了一个 ECR 存储库,

aws ecr create-repository --repository-name test --endpoint-url http://localhost:5000 --region us-east-1

现在任何人都可以帮助如何将 docker 映像推送到使用 moto 服务器创建的这个 ecr repo 中吗?

4

1 回答 1

1

浏览完代码后,我发现该put-image命令实际上将图像添加到存储库中。对于 AWS 的ECR,AWS使用此命令添加通过 docker push 命令上传的图像的元数据。

# aws ecr put-image --repository-name test --region us-east-1 --image-manifest test --endpoint-url http://localhost:5000 --image-tag v1
{
    "image": {
        "registryId": "012345678910",
        "repositoryName": "test",
        "imageId": {
            "imageDigest": "sha256:a6698ae96409579a4f8ac96f5e5f276467b3f62d184c9e6db537daeedb9dd939",
            "imageTag": "v1"
        },
        "imageManifest": "test"
    }
}

# aws ecr list-images --repository-name test --region us-east-1 --endpoint-url http://localhost:5000
{
    "imageIds": [
        {
            "imageDigest": "i don't know",
            "imageTag": "v1"
        }
    ]
}

幸运的是,我的代码不需要从 ECR 存储库中推送或拉取图像。如果是这种情况,此方法可能不起作用。

于 2021-04-11T09:00:19.250 回答