I have docker swarm setup with 2 solr nodes and 3 zookeeper nodes. When refreshing the zookeeper status https:<hostname>/solr/#/~cloud?view=zkstatus
1 of 2 refreshes gives java.net.SocketException: Connection reset while still seeing the three ZK nodes. Error in the log java.io.UncheckedIOException: java.net.SocketException: Connection reset at java.base/java.io.BufferedReader$1.hasNext(Unknown Source) at java.base/java.util.Iterator.forEachRemaining(Unknown Source) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) Version solr: 8.8.1 version zk: 3.6.2 os: Redhat 8.1 The question. Is this network related issue? or a bug? the docker swarm config yaml. I replaced the ipaddress, pwds, hostnames ;-)... --- version: '3.8' services: solr1: image: 'docker.io/library/solr:8.8.1' hostname: 'IPADDRESS1' environment: ZK_HOST: 'zookeeper1:2181,zookeeper2:2181,zookeeper3:2181' SOLR_SSL_ENABLED: 'true' SOLR_SSL_KEY_STORE: '/var/solr/certs/solr-ssl.keystore.jks' SOLR_SSL_KEY_STORE_PASSWORD: 'SOLRPWD' SOLR_SSL_TRUST_STORE: '/var/solr/certs/solr-ssl.keystore.jks' SOLR_SSL_TRUST_STORE_PASSWORD: 'SOLRPWD' SOLR_SSL_NEED_CLIENT_AUTH: 'false' SOLR_SSL_WANT_CLIENT_AUTH: 'false' SOLR_SSL_CHECK_PEER_NAME: 'false' SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION: 'false' SOLR_SSL_KEY_STORE_TYPE: 'JKS' SOLR_SSL_TRUST_STORE_TYPE: 'JKS' deploy: replicas: 1 placement: constraints: ['node.hostname==HOSTNAME1'] max_replicas_per_node: 1 restart_policy: condition: 'on-failure' networks: - 'solr' ports: - target: 8983 published: 8983 protocol: 'tcp' mode: 'host' volumes: - '/data/solr/data:/var/solr' - '/data/solr/solr.in.sh:/etc/default/solr.in.sh' logging: driver: "json-file" options: max-size: "20m" max-file: "10" solr2: image: 'docker.io/library/solr:8.8.1' hostname: 'IPADDRESS2' environment: ZK_HOST: 'zookeeper1:2181,zookeeper2:2181,zookeeper3:2181' SOLR_SSL_ENABLED: 'true' SOLR_SSL_KEY_STORE: '/var/solr/certs/solr-ssl.keystore.jks' SOLR_SSL_KEY_STORE_PASSWORD: 'SOLRPWD' SOLR_SSL_TRUST_STORE: '/var/solr/certs/solr-ssl.keystore.jks' SOLR_SSL_TRUST_STORE_PASSWORD: 'SOLRPWD' SOLR_SSL_NEED_CLIENT_AUTH: 'false' SOLR_SSL_WANT_CLIENT_AUTH: 'false' SOLR_SSL_CHECK_PEER_NAME: 'false' SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION: 'false' SOLR_SSL_KEY_STORE_TYPE: 'JKS' SOLR_SSL_TRUST_STORE_TYPE: 'JKS' deploy: replicas: 1 placement: constraints: ['node.hostname==HOSTNAME2'] max_replicas_per_node: 1 restart_policy: condition: 'on-failure' networks: - 'solr' ports: - target: 8983 published: 8983 protocol: 'tcp' mode: 'host' volumes: - '/data/solr/data:/var/solr' - '/data/solr/solr.in.sh:/etc/default/solr.in.sh' logging: driver: "json-file" options: max-size: "20m" max-file: "10" zookeeper1: image: 'docker.io/library/zookeeper:3.6.2' hostname: 'zookeeper1' environment: ZOO_MY_ID: '1' ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181' ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok' ZOO_AUTOPURGE_PURGEINTERVAL: '5' ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24' ZOO_ADMINSERVER_ENABLED: 'false' deploy: replicas: 1 placement: constraints: ['node.hostname==HOSTNAME1'] networks: - 'solr' volumes: - '/data/zookeeper/data:/data' - '/data/zookeeper/conf:/conf' - '/data/zookeeper/datalog:/datalog' logging: driver: "json-file" options: max-size: "20m" max-file: "10" ports: - target: 2181 published: 2181 protocol: 'tcp' mode: 'host' - target: 2888 published: 2888 protocol: 'tcp' mode: 'host' - target: 3888 published: 3888 protocol: 'tcp' mode: 'host' zookeeper2: image: 'docker.io/library/zookeeper:3.6.2' hostname: 'zookeeper2' environment: ZOO_MY_ID: '2' ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181' ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok' ZOO_AUTOPURGE_PURGEINTERVAL: '5' ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24' ZOO_ADMINSERVER_ENABLED: 'false' deploy: replicas: 1 placement: constraints: ['node.hostname==HOSTNAME2'] networks: - 'solr' volumes: - '/data/zookeeper/data:/data' - '/data/zookeeper/conf:/conf' - '/data/zookeeper/datalog:/datalog' logging: driver: "json-file" options: max-size: "20m" max-file: "10" ports: - target: 2181 published: 2181 protocol: 'tcp' mode: 'host' - target: 2888 published: 2888 protocol: 'tcp' mode: 'host' - target: 3888 published: 3888 protocol: 'tcp' mode: 'host' zookeeper3: image: 'docker.io/library/zookeeper:3.6.2' hostname: 'zookeeper3' environment: ZOO_MY_ID: '3' ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181' ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok' ZOO_AUTOPURGE_PURGEINTERVAL: '5' ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24' ZOO_ADMINSERVER_ENABLED: 'false' deploy: replicas: 1 placement: constraints: ['node.hostname==HOSTNAME3'] networks: - 'solr' volumes: - '/data/zookeeper/data:/data' - '/data/zookeeper/conf:/conf' - '/data/zookeeper/datalog:/datalog' logging: driver: "json-file" options: max-size: "20m" max-file: "10" ports: - target: 2181 published: 2181 protocol: 'tcp' mode: 'host' - target: 2888 published: 2888 protocol: 'tcp' mode: 'host' - target: 3888 published: 3888 protocol: 'tcp' mode: 'host' networks: solr: external: name: 'solr'