
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-collector 是一个守护进程,用于收集Docker容器集群的统计数据和事件,并将数据存储到Elasticsearch等分布式存储中,以便进行分析。
目前支持的统计数据包括:
添加对额外统计数据和事件的支持非常简单。同时提供了一组Kibana模板,用于可视化整个集群的统计数据。
要开始使用,可以使用提供的Docker Compose文件启动节点的必要组件:
bash$ git clone https://github.com/cilium-team/docker-collector.git $ cd docker-collector $ docker-compose up
打开浏览器,访问 http://localhost:5601/#/dashboard/docker-collector-dashboard?_g=(refreshInterval:(display:'30%20seconds',pause:!f,section:1,value:30000,time:(from:now-15m,mode:quick,to:now))&_a=(filters:!(),panels:!((col:1,id:Number-of-containers-running-per-hour-on-cluster,row:1,size_x:5,size_y:2,type:visualization),(col:1,id:Number-of-containers-running-per-minute-top-5-nodes,row:3,size_x:5,size_y:2,type:visualization),(col:6,id:rx_tx_bytes-of-top-5-containers-on-cluster,row:1,size_x:7,size_y:4,type:visualization),(col:1,id:rx_tx_bytes-of-top-5-containers-in-localhost.localdomain,row:5,size_x:6,size_y:4,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:'docker-collector%20dashboard'))%EF%BC%8C%E5%B0%86%E7%9C%8B%E5%88%B0%E7%B1%BB%E4%BC%BC%E4%BB%A5%E4%B8%8B%E7%9A%84%E7%95%8C%E9%9D%A2%E3%80%82
!DockercollectorUI
现在可以看到除名称中包含docker-collector的容器之外的所有其他容器(参见docker-collector中使用的-f选项)。
如果在Kibana仪表板中没有看到任何容器统计数据,可能尚未启动非管理容器。例如,启动一个容器,默认情况下大约2分钟后(读取和存储统计数据的默认间隔)数据将出现:
bashdocker run --rm -ti docker.xuanyuan.run/ubuntu ping www.google.com
使用Docker运行本地ElasticSearch实例。实际上,需要稍作扩展以配置Elastic集群发现:
bashdocker run -d --name docker-collector-elasticsearch -p 9200:9200 -p 9300:9300 \ docker.xuanyuan.run/elasticsearch:1.7.1 elasticsearch
可以将docker-collector作为Docker容器运行,如下所示:
bashdocker run -d --name docker-collector --privileged -h "$(hostname)" \ --pid host -e ELASTIC_IP=ELASTIC_SEARCH_IP \ -v /var/run/docker.sock:/var/run/docker.sock \ cilium/docker-collector -f 'docker-collector.*'
参数说明:
-d:后台模式,在后台运行容器--pid host:使用主机的PID命名空间,需要通过/proc和/sys查看和访问所有本地容器的统计数据--privileged:特权模式,需要授予访问其他容器统计数据的权限-h:容器主机名,设置为本地节点的主机名-e ELASTIC_IP=ELASTIC_SEARCH_IP:用于与ElasticSearch通信的环境变量,由于暴露了9200端口(用于传输数据的端口),docker-collector将与给定的IP地址通信,通常本地IP即可(注意:不能是127.0.0.1,但可以是Docker桥接IP 172.17.42.1)-v /var/run/docker.sock:/var/run/docker.sock:用于查找本地主机上运行的容器使用方法:docker-collector 选项
-t SECONDS:从本地容器检索统计数据的时间间隔(秒),默认值:60秒-f string:正则表达式,用于阻止docker-collector收集名称匹配特定模式的容器的统计数据和事件,通常用于排除管理容器-c string:Kibana配置和模板的目录路径,配置文件名为'configs.json',模板文件名为'templates.json',默认值:"/docker-collector/configs"(可以使用Docker的-v选项,如-v ./myconfigs-directory-path:/docker-collector/configs来使用自定义配置文件)-d string:设置用于存储统计数据的数据库驱动,有效选项:elasticsearch(默认)-i string:为Elasticsearch设置索引名称的前缀,后缀为-YYYY-MM-DD,默认值:"docker-collector"-l string:设置日志级别,有效选项:debug|info|warning|error|fatal|panic,默认值:"info"Kibana是Elasticsearch的开源数据可视化插件,提供对Elasticsearch集群中索引内容的可视化能力。
运行本地Kibana实例的示例:
bashdocker run -d --name docker-collector-kibana -p 5601:5601 \ -e ELASTICSEARCH_URL=http://ELASTIC_SEARCH_IP:9200 \ docker.xuanyuan.run/kibana:4.1.1
打开浏览器,访问 http://localhost:5601/#/dashboard/docker-collector-dashboard?_g=(refreshInterval:(display:'30%20seconds',pause:!f,section:1,value:30000,time:(from:now-15m,mode:quick,to:now))&_a=(filters:!(),panels:!((col:1,id:Number-of-containers-running-per-hour-on-cluster,row:1,size_x:5,size_y:2,type:visualization),(col:1,id:Number-of-containers-running-per-minute-top-5-nodes,row:3,size_x:5,size_y:2,type:visualization),(col:6,id:rx_tx_bytes-of-top-5-containers-on-cluster,row:1,size_x:7,size_y:4,type:visualization),(col:1,id:rx_tx_bytes-of-top-5-containers-in-localhost.localdomain,row:5,size_x:6,size_y:4,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:'docker-collector%20dashboard'))%EF%BC%88%E5%81%87%E8%AE%BE%E6%8C%89%E4%B8%8A%E8%BF%B0%E7%A4%BA%E4%BE%8B%E9%85%8D%E7%BD%AE%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%AB%AF%E5%8F%A3%E8%BF%90%E8%A1%8C%EF%BC%89%EF%BC%8C%E5%B0%86%E7%9C%8B%E5%88%B0%E7%B1%BB%E4%BC%BC%E4%BB%A5%E4%B8%8B%E7%9A%84%E7%95%8C%E9%9D%A2%E3%80%82
!DockercollectorUI
现在可以看到除名称以docker-collector开头的容器之外的所有其他容器(参见docker-collector中使用的-f选项)。
如果在Kibana仪表板中没有看到任何容器统计数据,可能尚未启动非管理容器。例如,启动一个容器,默认情况下大约2分钟后(读取和存储统计数据的默认间隔)数据将出现:
bashdocker run --rm -ti docker.xuanyuan.run/ubuntu ping www.google.com
尽管我们提供了Docker镜像,但镜像中的docker-collector二进制文件仅适用于Linux/x86_64。
根据Apache许可证2.0版("许可证")授权;除非符合许可证,否则不得使用此文件。您可以在以下地址获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用***要求或书面同意,否则根据许可证分发的软件按"原样"分发,不附带任何明示或暗示的担保或条件。有关许可证下权限和限制的具体语言,请参阅许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务