
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Moby Ryuk 是一个用于在指定延迟后根据给定过滤器自动删除 Docker 资源的工具。它支持按条件清理容器、网络、卷和镜像,通过 TCP 连接接收资源过滤规则,并在连接关闭或超时后执行清理操作,适用于自动化资源管理场景。
health=unhealthy)清理异常容器。label=temp=true)标记临时资源,统一定时清理。需挂载 Docker 守护进程套接字(/var/run/docker.sock)以操作 Docker 资源,并配置端口映射:
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock -e RYUK_PORT=8080 -p 8080:8080 docker.io/testcontainers/ryuk
通过 TCP 客户端(如 nc)连接到 Ryuk 服务:
bashnc localhost 8080
连接建立后,发送过滤规则(键值对格式),每条规则需以 ACK 确认:
bash# 示例:删除标签为 testing=true 且健康状态为 unhealthy 的资源 label=testing=true&health=unhealthy ACK # 示例:删除标签为 something 的资源 label=something ACK
关闭 TCP 连接后,Ryuk 会在延迟后执行清理。
通过管道一次性发送过滤规则(无需手动确认 ACK):
bashprintf "label=something_else" | nc localhost 8080
资源删除后,Ryuk 会输出清理日志,示例如下:
2018/01/15 18:38:52 Timed out waiting for connection 2018/01/15 18:38:52 Deleting {"label":{"something":true}} 2018/01/15 18:38:52 Deleting {"label":{"something_else":true}} 2018/01/15 18:38:52 Deleting {"health":{"unhealthy":true},"label":{"testing=true":true}} 2018/01/15 18:38:52 Removed 1 container(s), 0 network(s), 0 volume(s), 0 image(s)
Ryuk 支持通过环境变量配置行为,具体参数如下:
| 环境变量 | 描述 | 默认值 | 格式说明 |
|---|---|---|---|
RYUK_CONNECTION_TIMEOUT | 首次连接超时时间(未收到连接时的等待时间) | 60s | 遵循 Go 语言 time.ParseDuration 格式,如 30s(30秒)、5m(5分钟)。 |
RYUK_PORT | Ryuk 服务绑定的端口 | 8080 | 整数端口号,需与容器端口映射一致。 |
RYUK_RECONNECTION_TIMEOUT | Docker 连接断开后的重连超时时间 | 10s | 遵循 Go 语言 time.ParseDuration 格式,如 5s(5秒)、1m(1分钟)。 |
bash# 自定义端口和超时配置示例 docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -e RYUK_PORT=9090 \ -e RYUK_CONNECTION_TIMEOUT=30s \ -e RYUK_RECONNECTION_TIMEOUT=5s \ -p 9090:9090 \ docker.io/testcontainers/ryuk
yamlversion: '3' services: ryuk: image: docker.io/testcontainers/ryuk volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - RYUK_PORT=8080 - RYUK_CONNECTION_TIMEOUT=60s - RYUK_RECONNECTION_TIMEOUT=10s ports: - "8080:8080"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务