I've been following the instructions from Node Exporter's official documentation and running Node Exporter in my Docker Compose project.
# compose.yaml
...
services:
...
node-exporter:
image: prom/node-exporter:v.1.7.0
command:
- '--path.rootfs=/host'
network_mode: host
pid: host
restart: unless-stopped
volumes:
- /:/host:ro,rslave
...
This does start the container and the log doesn't show any error, but navigating to localhost:9100
gets me HTTP Error 426 "Upgrade Required". Same when querying the /metrics
endpoint via curl, Postman or whatever.
If I replace network_mode: host
with
ports:
- 9100:9100/tcp
it works just fine. But then it it not clear to me if this is still ok (given the official docs' warning).
In other words the two questions are:
- Why is
network_mode: host
not working? - What are the contraindications of not using it?
I am using Docker Desktop and WSL2 Ubuntu.
Turns out host network driver is not supported in Docker Desktop.
This might answer question #1.