local-grafana 环境排查 & 修复流程 给你,当成自己的小手册用就行了 👇
🧭 大思路
local-grafana 相关问题,本质上就是这两类:
- 镜像问题 :没有
iptestground/grafana:edge这个镜像 - 容器问题 :有镜像,但
testground-grafana容器创建/启动失败
以后只要按下面步骤一条条检查,就能搞定。
🧱 步骤 0:看 healthcheck 提示
bash
testground healthcheck --runner local:exec --fix
如果看到类似:
text
- local-grafana: failed; container not found.
- local-grafana: failed; failed to start container.
就进入下面的排查流程。
① 检查镜像是否存在
bash
docker images | grep iptestground/grafana
- 有输出 ✅ → 跳到②
- 没有输出 ❌ → 自己 build 一个简单镜像:
bash
mkdir -p ~/tg-grafana
cd ~/tg-grafana
cat > Dockerfile << 'EOF'
FROM grafana/grafana:8.0.0
EOF
docker build -t iptestground/grafana:edge .
镜像只要 名字和 tag 对上 就行:iptestground/grafana:edge,内容无所谓,Testground 不检查里面装了啥。
② 确认控制网络存在
bash
docker network ls | grep testground-control
- 有 → OK
- 没有 → 创建一个:
bash
docker network create testground-control
③ 手动运行 testground-grafana 容器
先删掉可能残留的(有就删,没有也不报错):
bash
docker rm -f testground-grafana 2>/dev/null || true
然后自己起一个:
bash
docker run -d \
--name testground-grafana \
--network testground-control \
-p 3000:3000 \
iptestground/grafana:edge
关键点有两个:
- 容器名必须叫
testground-grafana(healthcheck 就是按这个名字检查)- 网络必须是
testground-control(和其他组件在同一个网络里)
然后看是否在跑:
bash
docker ps | grep testground-grafana
④ 如果容器没起来 → 看日志
如果上一步没看到 Up 状态,就查日志:
bash
docker logs testground-grafana
常见问题比如:
- 端口 3000 冲突(你本机有别的 Grafana 等)
- 某些挂载路径权限 / 配置问题
根据日志修一下,然后再 docker rm -f + docker run -d 重新起。
⑤ 再跑一次 healthcheck 验证
bash
testground healthcheck --runner local:exec --fix
理想结果:
text
- local-grafana: ok; container state: running
- local-redis: ok
- local-sync-service: ok
- local-influxdb: ok
看到 ok 就说明环境准备好,可以放心跑:
bash
testground run single \
--plan . \
--testcase quickstart \
--instances 1 \
--builder exec:go \
--runner local:exec
🧾 给你一个「终极小抄」版本
以后要是又遇到 local-grafana 问题,直接按这几条照抄就行:
bash
# 1. 有镜像吗?
docker images | grep iptestground/grafana \
|| (mkdir -p ~/tg-grafana && cd ~/tg-grafana && \
printf 'FROM grafana/grafana:8.0.0\n' > Dockerfile && \
docker build -t iptestground/grafana:edge .)
# 2. 有网络吗?
docker network ls | grep testground-control \
|| docker network create testground-control
# 3. 手动起 grafana 容器
docker rm -f testground-grafana 2>/dev/null || true
docker run -d --name testground-grafana \
--network testground-control \
-p 3000:3000 \
iptestground/grafana:edge
# 4. 再 healthcheck 一遍
testground healthcheck --runner local:exec --fix
如果你之后在别的机器上重装 Testground,按这套流程走一遍,基本可以一次性把 local-grafana 环境打通。