如何将已经运行服务的Docker中的主机系统的端口绑定到Docker容器端口。

如果我的问题似乎是模糊的,我对领事和docker工人是很新的,所以请耐心等待。

我有多个Web服务运行在他们自己的Docker容器中。 现在我想使用consul(由hashicorp)作为服务发现工具。 Consul代理默认在端口8500上运行。 现在我将在所有docker集装箱运行的主机系统上运行Consul(因为它是一个服务发现工具,我不能让每个集装箱都有自己的领事)以及在docker集装箱中运行的docker服务与8500端口进行交互,在主机系统上运行。

最初我假设使用docker端口转发(-p)将工作,但尝试它后,下面的错误是我得到的

docker: Error response from daemon: driver failed programming external connectivity on endpoint practical_lamarr (dd21827e00a3218f9e090986c09f875a82yurd04b76d8a2528f0bccb854e05a3): Error starting userland proxy: listen tcp 0.0.0.0:8500: bind: address already in use.

有人可以告诉我,如何在主机系统端口上运行的领事被绑定到容器端口。