
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ecs-task-runner是由ONSdigital开发的Docker镜像,旨在简化AWS ECS(Elastic Container Service)上一次性任务的管理流程。该镜像提供了任务定义提交、任务运行、状态监控、日志获取及任务生命周期管理的一站式解决方案,支持Fargate和EC2两种启动类型,适用于需要在ECS集群中执行短期、一次性任务的场景。
ecs-task-runner适用于需要在AWS ECS集群中执行一次性、短期任务的场景,典型应用包括:
bashdocker pull docker.xuanyuan.run/onsdigital/ecs-task-runner:latest
运行Fargate类型任务
bashdocker run --rm \ -e AWS_REGION=eu-west-1 \ -e AWS_ACCESS_KEY_ID=AKIAEXAMPLE \ -e AWS_SECRET_ACCESS_KEY=secret \ -e ECS_CLUSTER=my-cluster \ -e LAUNCH_TYPE=FARGATE \ -e TASK_DEFINITION='{"family":"my-task","networkMode":"awsvpc","containerDefinitions":[{"name":"my-container","image":"nginx","essential":true}]}' \ -e SUBNETS=subnet-123456,subnet-789012 \ -e SECURITY_GROUPS=sg-123456 \ docker.xuanyuan.run/onsdigital/ecs-task-runner
使用任务定义文件
bashdocker run --rm \ -v $(pwd)/task-definition.json:/task-definition.json \ -e AWS_REGION=eu-west-1 \ -e ECS_CLUSTER=my-cluster \ -e TASK_DEFINITION_FILE=/task-definition.json \ docker.xuanyuan.run/onsdigital/ecs-task-runner
| 环境变量 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
AWS_REGION | AWS区域(如eu-west-1) | - | 无(必填) |
AWS_ACCESS_KEY_ID | AWS访问密钥ID(若未通过IAM角色授权) | - | 无(可选) |
AWS_SECRET_ACCESS_KEY | AWS密钥(若未通过IAM角色授权) | - | 无(可选) |
ECS_CLUSTER | ECS集群名称 | - | 无(必填) |
LAUNCH_TYPE | 任务启动类型 | FARGATE, EC2 | FARGATE |
TASK_DEFINITION | 任务定义JSON字符串(与TASK_DEFINITION_FILE二选一) | - | - |
TASK_DEFINITION_FILE | 任务定义JSON文件路径(容器内路径,需通过-v挂载) | - | - |
SUBNETS | 子网ID列表(逗号分隔,FARGATE必填) | - | - |
SECURITY_GROUPS | 安全组ID列表(逗号分隔,FARGATE必填) | - | - |
TASK_TIMEOUT | 任务超时时间(秒) | - | 3600 |
LOG_OUTPUT | 日志输出方式 | stdout, file | stdout |
CONTAINER_NAME | 目标容器名称(获取日志用,默认第一个容器) | - | - |
yamlversion: '3' services: ecs-task: image: docker.xuanyuan.run/onsdigital/ecs-task-runner:latest environment: - AWS_REGION=eu-west-1 - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} - ECS_CLUSTER=my-production-cluster - LAUNCH_TYPE=FARGATE - SUBNETS=subnet-abc123,subnet-def456 - SECURITY_GROUPS=sg-xyz789 - TASK_TIMEOUT=1800 volumes: - ./task-definition.json:/task-definition.json command: --task-definition-file /task-definition.json
ecs:RunTask、ecs:DescribeTasks、logs:GetLogEvents等权限,建议通过IAM角色(如ECS任务执行角色)授权而非硬编码密钥awsvpc模式)与启动类型匹配(FARGATE仅支持awsvpc)TASK_TIMEOUT,避免过早终止长时间运行的任务更多详细信息请参考https://github.com/ONSdigital/ecs-task-runner%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务