【docker swarm 问题记录】InvalidArgument desc = EndpointSpec: port published with ingress mode can't be used with dnsrr mode

问题描述:

  

 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

posted @ 2019-07-29 00:26  NHZ-M  阅读(1202)  评论(2编辑  收藏  举报