
如果你使用 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-logs是用于ECS服务的日志转发工具,支持从多种源读取日志并转发至指定目标。
使用ecs-logs的最简方式是将其作为Docker容器运行,需先配置ecs-agent将服务日志转发至journald:
ECS_AVAILABLE_LOGGING_DRIVERS=["journald"]json"logConfiguration": { "logDriver": "journald", "options": { "tag": "<你的服务名称>" } }
注意:tag很重要,它将作为CloudWatch日志的组名。
完成ecs-agent配置后(可在journal中看到ECS服务日志),启动ecs-logs:
bashdocker run -t -i -v /run/log/journal:/run/log/journal:ro \ docker.xuanyuan.run/segment/ecs-logs:latest -src journald -dst cloudwatchlogs
此时服务日志应已显示在CloudWatch Logs中。
日志源是ecs-logs读取事件并转发至目标的日志流。日志事件可采用JSON格式,结构如下:
json{ "level": "<debug | info | notice | warn | error | crit | alert | emerg>", "time": "<ISO8601时间格式>", "info": { "host": "<主机名>", "source": "<文件:行:函数>", "id": "<消息ID>", "pid": <进程ID>, "gid": <组ID>, "uid": <用户ID>, "errors": [ { "type": "<错误类型>", "error": "<错误消息>", "errno": <错误码>, "stack": [...] } ] }, "data": { ... }, "message": "<日志消息>" }
所有字段均为可选,缺失时ecs-logs会使用默认值。
stdin
默认源,适用于开发和测试。需读取JSON格式对象流,结构如下:
json{ "group": "<日志组>", "stream": "<日志流>", "event": { ... } }
其中group和stream用于标识日志事件归属,event需符合上述日志事件结构。
journald
生产环境常用源,ECS可轻松配置将容器日志发送至journal。该源依赖日志事件中的CONTAINER_TAG和CONTAINER_NAME元数据,分别作为日志组和流名。可通过JOURNALD_STREAM_NAME环境变量覆盖流名的元数据字段。
日志消息可为纯文本或JSON格式。若解析JSON失败,ecs-logs会生成包含完整消息的日志事件:
日志消息示例:
2016-07-05T09:08:12.123Z - INFO - hello!
生成的日志事件:
json{ "level": "NONE", "time": "<消息发送至journal的时间>", "info": { "host": "<主机名>" }, "data": {}, "message": "2016-07-05T09:08:12.123Z - INFO - hello!" }
OSX开发时无系统journal,可通过stdin源结合https://stedolan.github.io/jq/处理日志:
shell... | jq '. | {group: "<日志组>", stream: "<日志流>", event: .}' | ecs-logs -src stdin -dst ...
需确保服务输出ecs-logs可识别的JSON格式日志。
如需通过代理发送日志,可设置HTTP_PROXY、HTTPS_PROXY或SOCKS_PROXY环境变量。
NO_PROXY可指定无需代理的网络。
SOCKS_PROXY需遵循host:port格式,格式错误将被忽略。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务