我终于找到了答案。 <击> 问题是我在添加防火墙例外后没有重新启动主机。 击>
我将compose文件的版本更新为“3.3”,因为根据文档,“endpoint_mode:dnsrr”仅在3.3版本中可用。
随着这种变化,我能够让它发挥作用。
感谢所有人花时间查看我的问题以尝试解决它。
我在亚马逊AWS中遇到同样的问题。
我的问题是在docker网络入口。我解决了我的主机和VPC中的这个开放端口。
https://docs.docker.com/network/overlay/#customize-the-docker_gwbridge-interface
您需要以下端口打开来往于覆盖网络上参与的每个Docker主机的流量: 用于集群管理通信的TCP端口2377 TCP和UDP端口7946用于节点之间的通信 UDP端口4789用于覆盖网络流量
您需要以下端口打开来往于覆盖网络上参与的每个Docker主机的流量:
用于集群管理通信的TCP端口2377
TCP和UDP端口7946用于节点之间的通信
UDP端口4789用于覆盖网络流量
您需要为服务创建一个网络,如下所示:
version: '3' services: eureka: image: demo-eurekaserver networks: - main ports: - "8761:8761" web: image: demo-web networks: - main environment: - EUREKA_SERVER_ADDRESS=http://eureka:8761/eureka zuul: image: demo-zuul networks: - main environment: - EUREKA_SERVER_ADDRESS=http://eureka:8761/eureka ports: - "8762:8762" bookservice: image: demo-bookservice networks: - main environment: - EUREKA_SERVER_ADDRESS=http://eureka:8761/eureka networks: main: driver: overlay attachable: true
该 attachable: true 是这样你可以从另一个撰写文件连接到这个网络(如果不是这样,你可以删除它)
attachable: true