AWS ECR(Amazon Elastic Container Registry)是一种托管的 Docker 镜像注册表服务。在使用 AWS ECR 时,可以通过标签可变性和生命周期策略来管理镜像的版本和存储。
示例代码:
# 创建一个新的镜像,同时指定标签
$ docker build -t : .
# 推送镜像到 AWS ECR
$ docker push :
# 不允许更改标签(标签可变性)
# 如果需要更改标签,需要重新构建和推送镜像
示例代码:
{
"rules": [
{
"rulePriority": 1, // 规则优先级(从高到低)
"description": "Keep 7 most recent images", // 规则描述
"selection": {
"tagStatus": "any", // 选择标签状态(any|untagged|tagged)
"tagPrefixList": ["v"], // 标签前缀列表
"maxResults": 7 // 保留最多 7 个镜像
},
"action": {
"type": "expire" // 动作类型(expire|tag|untag)
}
},
{
"rulePriority": 2,
"description": "Remove untagged images older than 30 days",
"selection": {
"tagStatus": "untagged",
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 30
},
"action": {
"type": "expire"
}
}
]
}
上述示例中的生命周期策略定义了两个规则:
可以通过 AWS Management Console、AWS CLI 或 AWS SDK 来创建和配置生命周期策略。