You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Switch :latest to glibc to address DNS lookup problems #48
#18 still is an issue as DNS lookup still seems to be broken in the uclib version of upstream (see below). As the Prometheus images are based on prom/busybox:latest they are based on the broken uclib version of upstream as well, causing issues with service discovery in docker compose setups. Is there any chance you could switch to the glibc version for :latest instead of uclib?
docker-compose.yml:
version: "3.8"
services:
one:
image: quay.io/prometheus/busybox:latest
networks:
- test-net
entrypoint: sh
command:
- -c
- while sleep 2; do nslookup two; echo XXXXXXXXXXXXX; done
two:
image: quay.io/prometheus/busybox:glibc
networks:
- test-net
entrypoint: sh
command:
- -c
- while sleep 2; do nslookup one; echo XXXXXXXXXXXXX; done
networks:
test-net:
I was following the prometheus getting started tutorial with docker compose so I could document how prometheus and its targets were setup as separate services instead of having to manually run many individual processes. Unfortunately that led me to discover this issue where DNS wasn't working between the services. :(
I'm not sure exactly why we really care about this. All Prometheus components use Go for DNS lookups, they don't actually use uclibc/glibc. The only thing here is the Busybox, which is only really there for /bin/sh and basic tools.
I mean tbh I don't care that much either way. But I feel slightly we should either have a complete distroless image or something where the basic tools are working and not causing people to use them for things that then break and cause them to open issues here :)
Activity
axd1x8a commentedon Oct 1, 2024
Any updates?
dyllandry commentedon Nov 6, 2025
I was following the prometheus getting started tutorial with docker compose so I could document how prometheus and its targets were setup as separate services instead of having to manually run many individual processes. Unfortunately that led me to discover this issue where DNS wasn't working between the services. :(
discordianfish commentedon Nov 12, 2025
I wish uclib/busybox would just fix this.. But I'd be ok with switching this. @SuperQ wdyt?
SuperQ commentedon Nov 12, 2025
I'm not sure exactly why we really care about this. All Prometheus components use Go for DNS lookups, they don't actually use uclibc/glibc. The only thing here is the Busybox, which is only really there for
/bin/shand basic tools.discordianfish commentedon Nov 12, 2025
I mean tbh I don't care that much either way. But I feel slightly we should either have a complete distroless image or something where the basic tools are working and not causing people to use them for things that then break and cause them to open issues here :)
SuperQ commentedon Oct 14, 2026
We now have distroless images available. So I think this is obsolete.