使用Docker运行VictoriaMetrics最轻量快捷,适合测试开发及中小规模监控;执行docker run命令并配置数据挂载、端口映射与--storageDataPath、--retentionPeriod等参数即可启动单节点服务。

直接用 Docker 运行 VictoriaMetrics 是最轻量、最快上手的方式,适合测试、开发或中小规模监控场景。核心就是一条 docker run 命令,配好数据挂载、端口映射和关键参数即可。
基础运行命令(推荐单节点)
在任意有 Docker 的 Linux 或 Windows(WSL/桌面版)环境执行:
- 创建本地数据目录:
mkdir -p /data/vm - 运行容器:
docker run -d \--name victoriametrics \--restart=always \-p 8428:8428 \-v /data/vm:/storage \victoriametrics/victoria-metrics:latest \--storageDataPath=/storage \--retentionPeriod=90d \--httpListenAddr=:8428
说明:
• /data/vm 是宿主机持久化路径,务必替换成你自己的真实路径;
• --retentionPeriod=90d 表示保留 90 天数据,按需调整;
• 默认监听 :8428,对外提供 HTTP API 和 Web UI。
验证服务是否正常
启动后立即检查:
- 查看容器状态:
docker ps | grep victoriametrics,状态应为Up - 访问指标接口:
curl http://localhost:8428/metrics,返回文本即说明服务已就绪 - 打开浏览器访问
http://你的IP:8428,能看到 VM 自带的简易查询界面(vmui)
对接 Prometheus(远程写入)
让现有 Prometheus 把数据发给 VictoriaMetrics,只需改一行配置:
- 编辑
prometheus.yml,在末尾添加:remote_write:- url: "http://宿主机IP:8428/api/v1/write" - 注意:如果 Prometheus 和 VM 在同一台机器且用 Docker 运行,
宿主机IP不能写localhost,Linux 用host.docker.internal或实际内网 IP;Windows/macOS Docker Desktop 可直接用host.docker.internal - 重启 Prometheus:
docker restart prometheus,稍等片刻后访问http://VM-IP:8428/targets查看写入状态
进阶可选配置
按需追加以下参数提升实用性:
- 时区支持:
--loggerTimezone=Asia/Shanghai - 开放其他协议端口(如 Grafana 直连 InfluxDB 格式):
-p 8089:8089(Influx),并加参数--influxListenAddr=:8089 - 限制内存防止 OOM:
--memory=2g --memory-swap=2g(加在docker run开头) - 启用压缩日志:
--logLevel=info或--logLevel=warn



















