How can we make baremetal nodes discoverable by consul running in docker environment?

I went through this tutorial: Create a Secure Local Consul Datacenter with Docker Compose | Consul - HashiCorp Learn

and I want to use this strategy for consul based service discovery, however when we install consul binary directly on the baremetal node we see consul node discoverable as node1.consul but now all the agents of consul are running in the docker container how do I make consul aware of other baremetal nodes via consul running in containers?

Should I install consul binary on those baremetal nodes or should I run a consul agent client in container on those baremetal node? I am confused here.

The reason why I want this is I have some services running on baremetal nodes, although consul will able to give me the service name to call it instead of ip address, I also want to be able to call the node via the node name assigned by consul.