问题描述:
1 version: '3' 2 services: 3 config: 4 image: 172.30.253.133:5000/config:v1.0.0 5 networks: 6 cloud-overlay: 7 aliases: 8 - env-config 9 deploy: 10 replicas: 1 11 endpoint_mode: dnsrr 12 placement: 13 constraints: 14 - node.labels.env==test 15 ports: 16 - "8764:8080" 17 environment: 18 - ADDITIONAL_EUREKA_SERVER_LIST=http://eureka1:8080/eureka/,http://eureka2:8080/eureka/,http://eureka3:8080/eure 19 config
将服务暴露模式改为dnsrr,报错如题
修改后问题解决: 如下
version: "3.2" services: config: image: 172.30.253.133:5000/config:v1.0.0 networks: cloud-overlay: aliases: - env-config deploy: replicas: 1 endpoint_mode: dnsrr placement: constraints: - node.labels.env==test1 ports: - target: 8080 published: 8764 protocol: tcp mode: host #- "8764:8080"
ip ports: - "8764:8080" 会 报 port published with ingress mode can't be used with dnsrr mode
故解决端口声明方式 参考 https://discuss.aerospike.com/t/create-a-cluster-with-docker-swarm/5297/15