
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
cAdvisor(Container Advisor)是一款容器监控工具,版本为0.49.1,源自https://github.com/google/cadvisor%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E6%94%AF%E6%8C%81AMD64%E3%80%81ARM64v8%E3%80%81ARM32v7%E5%92%8CARM32v5%E6%9E%B6%E6%9E%84%EF%BC%8C%E5%B7%B2%E5%9C%A8x86_64 AMD设备和树莓派上测试通过。
cAdvisor作为运行中的守护进程,为容器用户提供对容器资源使用和性能特性的深入了解。它能够收集、聚合、处理并导出有关运行中容器的信息,包括资源隔离参数、历史资源使用情况、完整历史资源使用的直方图以及网络统计数据,这些数据按容器和整机级别导出。
通过以下Docker Compose配置可快速在本地启动cAdvisor,监控整个机器的容器状态:
yaml--- version: "3.1" networks: back-tier: services: cadvisor: container_name: cadvisor image: d3vilh/cadvisor:latest restart: unless-stopped privileged: true command: - '--raw_cgroup_prefix_whitelist=/docker/' - '--docker_only=true' - '--disable_metrics=memory_numa,advtcp,cpuset,referenced_memory,cpu_topology,tcp,udp,percpu,process,hugetlb,sched' - '--housekeeping_interval=30s' volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys/fs/cgroup:/cgroup:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /etc/machine-id:/etc/machine-id:ro devices: - '/dev/kmsg:/dev/kmsg' ports: - '8081:8080/tcp' networks: - back-tier
启动后,cAdvisor将在后台运行,可通过http://localhost:8080访问Web界面。配置中包含了cAdvisor观测Docker状态所需的目录挂载。
cAdvisor收集的数据可通过Grafana进行可视化展示,示例如下:
!https://github.com/d3vilh/raspberry-gateway/raw/master/images/raspi-monitoring_5.png !https://github.com/d3vilh/raspberry-gateway/raw/master/images/raspi-monitoring_6.png
可通过以下Prometheus配置集成cAdvisor:
yamlservices: prometheus: container_name: prometheus image: prom/prometheus:latest restart: always command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--storage.tsdb.retention.time=90' - '--web.console.libraries=/usr/share/prometheus/console_libraries' - '--web.console.templates=/usr/share/prometheus/consoles' volumes: - ./prometheus/:/etc/prometheus/ - prometheus_data:/prometheus ports: - 9090:9090 links: - ping:ping - speedtest:speedtest networks: - back-tier
详细的Prometheus配置可参考https://github.com/d3vilh/raspberry-gateway/blob/master/templates/prometheus.yml.j2%E3%80%82
构建该镜像使用的Dockerfile如下:
dockerfileFROM golang:buster AS builder ARG VERSION RUN apt-get update \ && apt-get install make git bash gcc \ && mkdir -p $GOPATH/src/github.com/google \ && git clone https://github.com/google/cadvisor.git $GOPATH/src/github.com/google/cadvisor WORKDIR $GOPATH/src/github.com/google/cadvisor RUN git fetch --tags RUN git checkout $VERSION RUN go env -w GO111MODULE=auto RUN make build RUN cp ./_output/cadvisor / # ------------------------------------------ # 从deploy/Dockerfile复制而来,移除了ARM架构Alpine上不可用的"zfs"依赖 FROM alpine:latest MAINTAINER dengnan@google.com vmarmol@google.com vishnuk@google.com jimmidyson@gmail.com stclair@google.com LABEL maintainer="Mr.Philipp <d3vilh@github.com>" RUN sed -i 's,https://dl-cdn.alpinelinux.org,http://dl-4.alpinelinux.org,g' /etc/apk/repositories RUN apk --no-cache add libc6-compat device-mapper findutils thin-provisioning-tools && \ echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \ rm -rf /var/cache/apk/* # 从构建阶段复制cAdvisor COPY --from=builder /cadvisor /usr/bin/cadvisor EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=3s \ CMD wget --quiet --tries=1 --spider http://localhost:8080/healthz || exit 1 ENTRYPOINT ["/usr/bin/cadvisor", "-logtostderr"]
执行以下命令构建镜像:
shelldocker build --progress=plain -t local/cadvisor .
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 d3vilh/cadvisor 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: