wji*_*271 27 containers amazon-web-services amazon-ecs
在Amazon的EC2容器服务中创建任务定义后,如何删除或删除它?
fed*_*nev 14
DeleteTaskDefinitions API解决了已接受答案中指出的问题。与之前一样,取消注册任务定义会将其设置为非活动状态。新的 API 允许您删除INACTIVE任务定义:
aws ecs delete-task-definitions --task-definitions family:revision
aws ecs delete-task-definitions --task-definitions myInactiveTaskDef:1 myInactiveTaskDef:2 myInactiveTaskDef:3
Run Code Online (Sandbox Code Playgroud)
小智 7
Oneline 方法受到Anna A回复的启发:
aws ecs list-task-definitions --region eu-central-1 \
| jq -M -r '.taskDefinitionArns | .[]' \
| xargs -I {} aws ecs deregister-task-definition \
--region eu-central-1 \
--task-definition {} \
| jq -r '.taskDefinition.taskDefinitionArn'
Run Code Online (Sandbox Code Playgroud)
我最近发现了这个要点(非常感谢创建者的分享!)它将取消注册您特定区域的所有任务定义 - 也许您可以对其进行调整以跳过一些您想要保留的内容:https://gist.github .com/jen20/e1c25426cc0a4a9b53cbb3560a3f02d1
你需要有 jq 来运行它:
brew install jq
我“硬编码”了我的区域,对我来说它是eu-central-1,所以一定要根据你的用例进行调整:
#!/usr/bin/env bash
get_task_definition_arns() {
aws ecs list-task-definitions --region eu-central-1 \
| jq -M -r '.taskDefinitionArns | .[]'
}
delete_task_definition() {
local arn=$1
aws ecs deregister-task-definition \
--region eu-central-1 \
--task-definition "${arn}" > /dev/null
}
for arn in $(get_task_definition_arns)
do
echo "Deregistering ${arn}..."
delete_task_definition "${arn}"
done
Run Code Online (Sandbox Code Playgroud)
然后当我运行它时,它开始删除它们:
Deregistering arn:aws:ecs:REGION:YOUR_ACCOUNT_ID:task-definition/NAME:REVISION...
小智 5
您可以像以下命令一样取消注册(删除)任务定义: aws ecs deregister-task-definition --task-definition task_defination_name:revision_no
| 归档时间: |
|
| 查看次数: |
7356 次 |
| 最近记录: |