# Elasticsearch running on multi node docker containers - networking

**URL:** <https://discuss.elastic.co/t/elasticsearch-running-on-multi-node-docker-containers-networking/188269>\
**Category:** Elasticsearch\
**Created:** [July 1, 2019, 9:20am UTC](https://discuss.elastic.co/t/elasticsearch-running-on-multi-node-docker-containers-networking/188269 "2019-07-01T09:20:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pastechecker](https://avatars.discourse-cdn.com/v4/letter/p/0ea827/32.png) [@pastechecker](https://discuss.elastic.co/u/pastechecker)\
**Post date:** [July 1, 2019, 9:20am UTC](https://discuss.elastic.co/t/elasticsearch-running-on-multi-node-docker-containers-networking/188269/1 "2019-07-01T09:20:28Z")

</div>

Hello.  
I am looking for the best way to connect Docker running multiple elasticsearch instances running on two servers connected directly by fiber optic cable not using the Swarm mode (as this is not supported by Elasticsearch).

My docker-compose.yml on server 1:

> version: '3.7'  
> services:  
> es01:  
> image: [docker.elastic.co/elasticsearch/elasticsearch:7.2.0](http://docker.elastic.co/elasticsearch/elasticsearch:7.2.0)  
> container\_name: es01  
> environment:  
> - node.name=es01  
> - node.master=true  
> - node.data=true  
> - discovery.seed\_hosts=es02  
> - cluster.initial\_master\_nodes=es01,es02  
> - cluster.name=docker-cluster  
> - bootstrap.memory\_lock=true  
> - "ES\_JAVA\_OPTS=-Xms512m -Xmx512m"  
> ulimits:  
> memlock:  
> soft: -1  
> hard: -1  
> volumes:  
> - esdata01:/usr/share/elasticsearch/data  
> ports:  
> - 9201:9200  
> networks:  
> - macvlan  
> es02:  
> image: [docker.elastic.co/elasticsearch/elasticsearch:7.2.0](http://docker.elastic.co/elasticsearch/elasticsearch:7.2.0)  
> container\_name: es02  
> environment:  
> - node.name=es02  
> - node.master=true  
> - node.data=true  
> - discovery.seed\_hosts=es01  
> - cluster.initial\_master\_nodes=es01,es02  
> - cluster.name=docker-cluster  
> - bootstrap.memory\_lock=true  
> - "ES\_JAVA\_OPTS=-Xms512m -Xmx512m"  
> ulimits:  
> memlock:  
> soft: -1  
> hard: -1  
> volumes:  
> - esdata02:/usr/share/elasticsearch/data  
> networks:  
> - macvlan
> 
> es03:  
> image: [docker.elastic.co/elasticsearch/elasticsearch:7.2.0](http://docker.elastic.co/elasticsearch/elasticsearch:7.2.0)  
> container\_name: es03  
> environment:  
> - node.name=es03  
> - node.master=false  
> - node.data=true  
> - discovery.seed\_hosts=es01  
> - cluster.initial\_master\_nodes=es01,es02  
> - cluster.name=docker-cluster  
> - bootstrap.memory\_lock=true  
> - "ES\_JAVA\_OPTS=-Xms512m -Xmx512m"  
> ulimits:  
> memlock:  
> soft: -1  
> hard: -1  
> volumes:  
> - esdata03:/usr/share/elasticsearch/data  
> networks:  
> - macvlan
> 
> volumes:  
> esdata01:  
> driver: local  
> esdata02:  
> driver: local  
> esdata03:  
> driver: local
> 
> networks:  
> macvlan:

My docker-compose.yml on server 2 is identical, just names are changed.  
Nodes are connected by:

> br0: \<BROADCAST,MULTICAST,UP,LOWER\_UP\> mtu 1500 qdisc noqueue state UP group default qlen 1000  
> link/ether d0:94:66:19:43:02 brd ff:ff:ff:ff:ff:ff  
> inet 192.168.1.2/24 brd 192.168.1.255 scope global br0  
> valid\_lft forever preferred\_lft forever
> 
> iface br0 inet static  
> address 192.168.1.2  
> netmask 255.255.255.0  
> bridge\_ports eth2 eth3  
> bridge\_maxwait 0  
> pre-up ip addr flush dev br0 \>/dev/null 2\>&1 || true

Thanks for the suggestions!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 29, 2019, 9:20am UTC](https://discuss.elastic.co/t/elasticsearch-running-on-multi-node-docker-containers-networking/188269/2 "2019-07-29T09:20:29Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
