本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!Docker Pulls !Docker Size
本镜像为 Graphite 和 Statsd 的官方 Docker 镜像,基于 hopsoft/docker-graphite-statsd 和 obfuscurity/synthesize 项目构建。主要用途是提供快速部署方案,帮助用户在几分钟内搭建起完整的指标收集与可视化系统,无需手动配置复杂的 Graphite 和 Statsd 环境。
graphiteapp/docker-graphite-statsd),不稳定构建请使用稳定仓库的 master 标签(graphiteapp/graphite-statsd:master)。1.1.7-1 版本开始支持 arm/arm64 架构;从 1.1.7-6 版本开始提供 x64 架构的 -pypy 版本(针对性能优化,详情见 PR #151)。通过以下命令一键启动容器:
docker run -d \ --name graphite \ --restart=always \ -p 80:80 \ -p 2003-2004:2003-2004 \ -p 2023-2024:2023-2024 \ -p 8125:8125/udp \ -p 8126:8126 \ graphiteapp/graphite-statsd
参数说明:
--name graphite:指定容器名称为 graphite--restart=always:容器退出时自动重启-p:端口映射(详见下文“端口映射”)| 主机端口 | 容器端口 | 服务说明 |
|---|---|---|
| 80 | 80 | Nginx(反向代理 Graphite 仪表盘) |
| 2003 | 2003 | Carbon 纯文本协议接收端口 |
| 2004 | 2004 | Carbon Pickle 协议接收端口 |
| 2023 | 2023 | Carbon Aggregator 纯文本协议接收端口 |
| 2024 | 2024 | Carbon Aggregator Pickle 协议接收端口 |
| 8080 | 8080 | Graphite 内部 Gunicorn 端口(不经过 Nginx 代理) |
| 8125 | 8125/udp | Statsd 指标接收端口(默认 UDP,可通过 STATSD_INTERFACE=tcp 切换为 TCP) |
| 8126 | 8126 | Statsd 管理接口端口 |
默认情况下,容器会自动创建匿名卷存储以下数据。建议显式挂载主机目录以实现持久化:
| 主机目录(示例) | 容器目录 | 用途说明 |
|---|---|---|
/path/to/graphite/conf | /opt/graphite/conf | Graphite 配置文件 |
/path/to/graphite/storage | /opt/graphite/storage | 指标数据存储(whisper 文件) |
/path/to/statsd/config | /opt/statsd/config | Statsd 配置文件 |
/path/to/nginx/conf | /etc/nginx | Nginx 配置文件 |
/path/to/logs | /var/log | 日志文件(Graphite、Statsd 等) |
/path/to/redis/data | /var/lib/redis | Redis 数据(用于 TagDB,可选) |
挂载示例:
docker run -d \ --name graphite \ -v /host/graphite/conf:/opt/graphite/conf \ -v /host/graphite/storage:/opt/graphite/storage \ -v /host/statsd/config:/opt/statsd/config \ graphiteapp/graphite-statsd
通过以下命令向 Statsd 发送随机指标:
while true; do echo -n "example:$((RANDOM % 100))|c" | nc -w 1 -u 127.0.0.1 8125; done
(example 为指标名,c 表示计数器类型,数值为 0-99 随机数)
访问 Graphite 仪表盘查看指标:
默认 Django 管理员账户存在安全风险,需立即修改:
rootroot***修改步骤:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
GRAPHITE_WSGI_PROCESSES | 4 | Gunicorn 工作进程数 |
GRAPHITE_WSGI_THREADS | 1 | 每个工作进程的线程数 |
GRAPHITE_WSGI_REQUEST_TIMEOUT | 65 | 请求超时时间(秒) |
STATSD_INTERFACE | udp | Statsd 监听协议(udp 或 tcp) |
SVWAIT | 7 | runit 服务停止超时时间(秒) |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
GRAPHITE_ALLOWED_HOSTS | * | 允许访问的主机列表(Django 设置) |
GRAPHITE_TIME_ZONE | Etc/UTC | 时区设置 |
GRAPHITE_UTF8_METRICS | false | 是否允许 UTF-8 格式指标名(可能影响性能) |
GRAPHITE_DEBUG | false | 是否启用调试模式(显示详细错误信息) |
GRAPHITE_DEFAULT_CACHE_DURATION | 60 | 指标数据和图表缓存时间(秒) |
GRAPHITE_CLUSTER_SERVERS | '' | 集群服务器列表(远程指标查询) |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
CARBON_DISABLE_TAGS | false | 是否禁用 TagDB(设置为 true 禁用) |
GRAPHITE_CARBONLINK_HOSTS | '127.0.0.1:7002' | Carbonlink 服务地址列表 |
RELAY | 0 | 是否启用 carbon-relay(设置为 1 启用) |
TagDB 用于存储指标标签信息,默认使用 SQLite,可切换为 Redis:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
REDIS_TAGDB | false | 是否使用 Redis 存储标签(true 启用) |
GRAPHITE_TAGDB_REDIS_HOST | 'localhost' | Redis 主机地址 |
GRAPHITE_TAGDB_REDIS_PORT | 6379 | Redis 端口 |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
COLLECTD | 0 | 启用 Collectd(1 启用) |
GOCARBON | 0 | 使用 go-carbon 替代 Carbon(1 启用) |
BRUBECK | 0 | 使用 Brubeck 替代 Statsd(1 启用) |
MEMCACHE_HOST | '' | Memcached 地址(如 127.0.0.1:11211) |
若需调整高级配置(如 storage-schemas.conf):
docker stop graphitedocker inspect graphite(在 Mounts 中找到对应卷的 Source 路径)/var/lib/docker/volumes/xxx/_data/storage-schemas.conf)docker start graphite注意:修改 storage-schemas.conf 后,需删除旧的 whisper 文件(/opt/graphite/storage/whisper/ 目录下)以应用新的数据保留策略。
创建 docker-compose.yml 文件:
version: '3' services: graphite: image: graphiteapp/graphite-statsd container_name: graphite restart: always ports: - "80:80" - "2003-2004:2003-2004" - "8125:8125/udp" - "8126:8126" volumes: - ./graphite/conf:/opt/graphite/conf - ./graphite/storage:/opt/graphite/storage environment: - GRAPHITE_TIME_ZONE=Asia/Shanghai - GRAPHITE_WSGI_PROCESSES=8
启动:docker-compose up -d
推荐使用第三方 Helm Chart:kiwigrid/graphite
设置 GOCARBON=1 启用 go-carbon(Carbon 的 Go 语言实现,性能更优)。若需启用 carbonserver,设置 GRAPHITE_CLUSTER_SERVERS="127.0.0.1:8000"。
设置 BRUBECK=1 启用 Brubeck(Statsd 替代方案,支持更多协议,但配置格式与原生 Statsd 不兼容)。
容器使用 runit 作为 init 系统管理多进程,需 root 权限运行。这符合 Docker 多进程容器最佳实践,但不完全遵循“单进程容器”理念。若需无 root 运行,建议拆分部署各组件。
确保 Statsd 刷新间隔(flushInterval)不小于 Carbon 最小数据保留粒度。例如,Statsd 配置 flushInterval: 10000(10 秒)时,storage-schemas.conf 中保留策略需设置为 10s:12h 或更大粒度。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429