如何解决在命令行中查看在AWS ECS服务中运行的容器映像的简单方法
从命令行显示ECS服务中当前正在运行的容器映像的最简单方法是什么?目前,我正在使用aws cli和jq的丑陋组合:
aws ecs list-services --cluster CLUSTER_NAME | jq -r '.serviceArns | .[] | select(. | contains("SERVICE_NAME"))|split("/")|last' |xargs -I {} aws ecs describe-services --cluster CLUSTER_NAME --services {}|jq -r '.services[0].taskDefinition|split("/")|last'| xargs -I {} aws ecs describe-task-definition --task-definition {}|jq '.taskDefinition.containerDefinitions[0].image'
肯定有一种更简单的方法吗?
解决方法
如果直接描述任务定义而不是先进行服务,则可以做得更好。如果使用jq
,则可以摆脱--query
。如果您使用嵌套命令,则可以摆脱xargs
。
aws ecs describe-tasks --output text --query tasks[].containers[].[image] --tasks `aws ecs list-tasks --desired-status RUNNING --query taskArns --output text`
list-tasks
支持--cluster
,如果您希望将其限制为仅一个集群。
ecs-cli是专用于ECS的命令行工具,但它不会打印出图像,而仅打印任务定义名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。