anchore/ecs-inventory该Docker镜像为Anchore的专用代理组件,专门设计用于与AWS ECS(Elastic Container Service)集群集成。其核心功能是自动收集集群中当前运行的容器镜像的在用清单及相关元数据,帮助用户实时掌握ECS集群内镜像的实际使用情况,为镜像资产管理、合规审计和安全监控提供数据支持。
ecs:ListClusters、ecs:ListTasks、ecs:DescribeTasks权限)bashdocker run -d \ --name anchore-ecs-agent \ -e AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY \ -e AWS_SECRET_ACCESS_KEY=secretExampleKey \ -e AWS_REGION=us-west-2 \ -e ECS_CLUSTER_NAME=my-ecs-cluster \ -e ANCHORE_SERVICE_URL=[***] \ anchore/ecs-agent:latest
yamlversion: '3.8' services: anchore-ecs-agent: image: anchore/ecs-agent:latest container_name: anchore-ecs-agent environment: - AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY - AWS_SECRET_ACCESS_KEY=secretExampleKey - AWS_REGION=us-west-2 - ECS_CLUSTER_NAME=my-ecs-cluster - ANCHORE_SERVICE_URL=[***] - POLL_INTERVAL=300 # 数据采集间隔(秒),默认300 - LOG_LEVEL=info # 日志级别:debug/info/warn/error,默认info restart: unless-stopped
| 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
AWS_ACCESS_KEY_ID | AWS访问密钥ID(当使用静态密钥认证时) | 否 | 从环境变量或IAM角色获取 |
AWS_SECRET_ACCESS_KEY | AWS密钥(当使用静态密钥认证时) | 否 | 从环境变量或IAM角色获取 |
AWS_REGION | AWS ECS集群所在区域 | 是 | 无 |
ECS_CLUSTER_NAME | 目标ECS集群名称(支持逗号分隔多个集群) | 是 | 无 |
ANCHORE_SERVICE_URL | Anchore服务API地址 | 是 | 无 |
POLL_INTERVAL | 数据采集间隔(秒) | 否 | 300 |
LOG_LEVEL | 日志输出级别 | 否 | info |
ANCHORE_API_KEY | 访问Anchore服务的API密钥(如启用认证) | 否 | 无 |
ECS_ENDPOINT | 自定义ECS API端点(用于测试或私有区域) | 否 | AWS默认端点 |
采集的镜像数据将通过HTTPS协议上报至ANCHORE_SERVICE_URL指定的Anchore服务,可在Anchore UI或通过API查询以下信息:
ECS API timeout时,确认网络连通性及AWS区域配置正确性ANCHORE_SERVICE_URL和ANCHORE_API_KEY配置是否正确
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务