如果你使用 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-deploy是一个简化Amazon Elastic Container Service (ECS)蓝绿部署流程的脚本工具。它通过操作ECS的任务定义(Task Definition)和服务(Service)实体,实现自动蓝绿部署,确保应用更新过程中无服务中断。该工具支持多种配置方式,可灵活集成到CI/CD流程中。
必选参数(至少提供以下之一)
-n | --service-name:要部署的服务名称-d | --task-definition:要部署的任务定义名称必选AWS配置参数
-k | --aws-access-key:AWS访问密钥ID(也可通过环境变量AWS_ACCESS_KEY_ID设置)-s | --aws-secret-key:AWS密钥(也可通过环境变量AWS_SECRET_ACCESS_KEY设置)-r | --region:AWS区域名称(也可通过环境变量AWS_DEFAULT_REGION设置)-p | --profile:AWS配置文件名称(使用此参数时仍需提供访问密钥、密钥和区域)-c | --cluster:ECS集群名称-i | --image:Docker镜像名称,格式:[domain][:port][/repo][/][image][:tag]--aws-instance-profile:使用当前实例关联的IAM角色可选参数
-D | --desired-count:服务中要保持运行的任务数量-m | --min:部署期间运行任务的最小健康百分比(minimumHealthyPercent)-M | --max:部署期间运行任务的最大百分比(maximumPercent)-t | --timeout:部署超时时间(默认90秒)-e | --tag-env-var:从环境变量获取镜像标签(覆盖-i中的标签)-to | --tag-only:为任务中所有镜像应用新标签(覆盖-i中的标签)-a | --aws-assume-role:要承担的AWS角色ARN--mfa:角色承担的MFA ARN/序列号--max-definitions:保留的任务定义修订版数量(超出将注销最旧版本)--enable-rollback:超时未运行时回滚任务定义--force-new-deployment:强制新部署(默认false)--use-latest-task-def:使用最新创建的任务定义作为基础,而非最后使用的版本--skip-deployments-check:跳过部署检查(适用于排水时间长的服务)--run-task:立即运行创建的任务(使用此参数时不需要服务名称)--run-task-overrides:任务运行覆盖配置(仅与--run-task一起使用,JSON格式)-v | --verbose:详细输出--version:显示版本信息1. 简单服务部署(使用环境变量配置AWS凭证)
bashecs-deploy -c production1 -n doorman-service -i docker.repo.com/doorman:latest
2. 完整参数部署
bashecs-deploy -k ABC123 -s SECRETKEY -r us-east-1 -c production1 -n doorman-service -i docker.repo.com/doorman -t 240 -e CI_TIMESTAMP -v
3. 更新任务定义镜像
bashecs-deploy -d open-door-task -i docker.repo.com/doorman:17
4. 使用AWS配置文件
bashecs-deploy -p PROFILE -c production1 -n doorman-service -i docker.repo.com/doorman -t 240 -e CI_TIMESTAMP -v
5. 更新多容器任务的标签
bashecs-deploy -c staging -n core-service -to 0.1.899 -i ignore
安装并配置AWS CLI:
bash# 参考AWS官方文档安装:http://docs.aws.amazon.com/cli/latest/userguide/tutorial-ec2-ubuntu.html#install-cli
安装jq:
bash# 参考jq安装文档:https://github.com/stedolan/jq/wiki/Installation
安装ecs-deploy:
bashcurl https://raw.githubusercontent.com/silinternational/ecs-deploy/master/ecs-deploy | sudo tee /usr/bin/ecs-deploy sudo chmod +x /usr/bin/ecs-deploy
ecs-deploy通过以下步骤实现蓝绿部署:
--use-latest-task-def)注意:ECS服务在更新任务定义时会自动执行蓝绿部署,先启动新任务并确认健康状态,再终止旧任务,确保服务不中断。
通过-e参数可从环境变量获取镜像标签,适用于CI/CD环境中动态生成标签的场景。例如,在Codeship环境中使用CI_TIMESTAMP变量作为标签:
bashecs-deploy -c production1 -n doorman-api -i my.private.repo/doorman-api -e CI_TIMESTAMP
以下是ecs-deploy所需的IAM策略示例:
json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeregisterTaskDefinition", "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:ListTaskDefinitions", "ecs:RegisterTaskDefinition", "ecs:StartTask", "ecs:StopTask", "ecs:UpdateService", "iam:PassRole" ], "Resource": "*" } ] }
You must specify a region. You can also configure your region by running "aws configure".,需检查AWS CLI配置或环境变量设置。-i、-e或-to指定标签,默认使用latest标签。ecs-deploy使用https://github.com/sstephenson/bats%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%EF%BC%8C%E4%B8%BB%E8%A6%81%E6%B5%8B%E8%AF%95%E6%9C%AC%E5%9C%B0%E6%95%B0%E6%8D%AE%E8%A7%A3%E6%9E%90%E5%92%8C%E5%A4%84%E7%90%86%E9%80%BB%E8%BE%91%E3%80%82%E6%96%B0%E5%8A%9F%E8%83%BD%E5%92%8CPR%E5%BA%94%E5%B0%BD%E5%8F%AF%E8%83%BD%E6%8F%90%E4%BE%9B%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务