我正在使用领事作为微服务体系结构中的服务发现。当前涉及的部分是:配置服务器,网关,service1和service2。当我在本地主机中使用consul时,一切正常。领事以动态模式分配微服务端口。在虚拟机上的docker内部使用consul和所有微服务,由于容器的绝缘,我在各种微服务之间的通信遇到了问题。特别是当单个微服务的门由领事分配时。我给出一个示例,考虑到docker文件中的service1,我公开了端口 8080 ,用于实现caontainer与外界的通信。集成服务器在领事46829分配的动态端口上启动。
要从Docker控制台启动容器,请使用以下命令:
docker run -P –name service1-1 service1:最新
通过将领事分配的端口以外的其他端口映射到容器的8080,可以正确启动容器,确保其他服务无法访问该服务,因为使用服务发现,将使用领事分配的端口调用service1。{ {3}}如果我使用 docker run命令-p 8080:8080 --name service1-1 service1:Latest 领事启动服务,则一切正常,但是我失去了服务发现功能有什么办法可以使两个门重合吗?预先感谢