...在学习了一系列教程之后,例如
我使用以下命令启动 grafana 容器:
%box docker run -d -p 3000:3000 --add-host=host.docker.internal:host-gateway --name grafana grafana/grafana-oss
但是当我尝试从 grafana 容器访问 prometheus 实例时,它不起作用并且超时。
box% docker exec -it grafana /bin/bash
bash-5.1$ wget http://host.docker.internal:9090
Connecting to host.docker.internal:9090 (172.17.0.1:9090)
主机是 arch linux。我做错了什么?
编辑:也许我必须以不同的方式配置 Prometheus?我只需要
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "server"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["<HOST_IP:8088"]
答案1
圣哉@#$%^
解决方案来自另一个完全出乎意料的角度,我在这里找到了它:
https://www.cloudsavvyit.com/6940/how-to-access-ports-on-the-host-from-a-docker-container/
看起来ufw
来自 Docker 容器的请求就像来自外部的请求一样被处理......这是我完全没有预料到的。
按照帖子中的方法为 Docker 容器的范围添加一条规则。