Pass --net=host to docker run.
This will share the host's IP address and networking stack. Basically, that means the application will run without Docker imposing any restrictions on network access.
If you use the host network mode for a container, that container's network stack isn't isolated from the Docker host (the container shares the host's networking namespace), and the container doesn't get its own IP-address allocated. For instance, if you run a container which binds to port 80 and you use host networking, the container's application is available on port 80 on the host's IP address.
This feature works in both directions. This means you can access a server that is running in a container from your host and you can access servers running on your host from any container that is started with host networking enabled. TCP as well as UDP are supported as communication protocols.
Source
N.B.: The -p port mapping flag is unsupported with --net=host. Your Promethesus container's port 9090 will act as if it's always mapped to the same port 9090 on the host.