# \[Elasticsearch on Docker\] Can't have a dedicated master node

**URL:** <https://discuss.elastic.co/t/elasticsearch-on-docker-cant-have-a-dedicated-master-node/208733>\
**Category:** Elasticsearch\
**Created:** [November 20, 2019, 3:47pm UTC](https://discuss.elastic.co/t/elasticsearch-on-docker-cant-have-a-dedicated-master-node/208733 "2019-11-20T15:47:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Travis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/travis/32/54079_2.png) [@Travis](https://discuss.elastic.co/u/Travis)\
**Post date:** [November 20, 2019, 3:47pm UTC](https://discuss.elastic.co/t/elasticsearch-on-docker-cant-have-a-dedicated-master-node/208733/1 "2019-11-20T15:47:08Z")

</div>

Hello there !

On Docker, I can't succeed to have a dedicated master node in a simple 4 nodes test setup.

Master is never discovered when I use :

```
version: '2.2'
services:
  master1:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
container_name: master1
environment:
  - node.name=master1
  - cluster.name=es-docker-cluster
  - node.master=true
  - discovery.seed_hosts=es01,es02,es03
  - cluster.initial_master_nodes=master1,es01,es02,es03
  - bootstrap.memory_lock=true
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
  memlock:
    soft: -1
    hard: -1
volumes:
  - master1:/usr/share/elasticsearch/data
networks:
  - elastic

  es01:
depends_on:
  - master1
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
container_name: es01
environment:
  - node.name=es01
  - cluster.name=es-docker-cluster
  - node.master=false
  - discovery.seed_hosts=es02,es03,master1
  - cluster.initial_master_nodes=master1,es01,es02,es03
  - bootstrap.memory_lock=true
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
  memlock:
    soft: -1
    hard: -1
volumes:
  - data01:/usr/share/elasticsearch/data
ports:
  - 9200:9200
networks:
  - elastic

  es02:
depends_on:
  - master1
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
container_name: es02
environment:
  - node.name=es02
  - cluster.name=es-docker-cluster
 - node.master=false
  - discovery.seed_hosts=es01,es03,master1
  - cluster.initial_master_nodes=master1,es01,es02,es03
  - bootstrap.memory_lock=true
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
  memlock:
    soft: -1
    hard: -1
volumes:
  - data02:/usr/share/elasticsearch/data
networks:
  - elastic

  es03:
depends_on:
  - master1
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
container_name: es03
environment:
  - node.name=es03
  - cluster.name=es-docker-cluster
  - node.master=false
  - discovery.seed_hosts=es01,es02,master1
  - cluster.initial_master_nodes=master1,es01,es02,es03
  - bootstrap.memory_lock=true
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
  memlock:
    soft: -1
    hard: -1
volumes:
  - data03:/usr/share/elasticsearch/data
networks:
  - elastic

volumes:
  data01:
driver: local
  data02:
driver: local
  data03:
driver: local
  master1:
driver: local

networks:
  elastic:
driver: bridge

```

If I remove node.master and node.data settings, it works, but using a random node as master

```
version: '2.2'
services:
  master1:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: master1
    environment:
      - node.name=master1
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02,es03
      - cluster.initial_master_nodes=master1,es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - master1:/usr/share/elasticsearch/data
    networks:
      - elastic

  es01:
    depends_on:
      - master1
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03,master1
      - cluster.initial_master_nodes=master1,es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic

  es02:
    depends_on:
      - master1
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03,master1
      - cluster.initial_master_nodes=master1,es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  es03:
    depends_on:
      - master1
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02,master1
      - cluster.initial_master_nodes=master1,es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local
  master1:
    driver: local

networks:
  elastic:
    driver: bridge

```

Elasticsearch error message : [https://pastebin.com/4WUqwz4T](https://pastebin.com/4WUqwz4T)

Any idea on why it don't accept the settings ?

Thanks for your help ! 🙂

---

<div class="post-metadata">

**Author:** ![Travis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/travis/32/54079_2.png) [@Travis](https://discuss.elastic.co/u/Travis)\
**Post date:** [November 21, 2019, 10:05am UTC](https://discuss.elastic.co/t/elasticsearch-on-docker-cant-have-a-dedicated-master-node/208733/2 "2019-11-21T10:05:16Z")

</div>

After checking docs, I applied this configuration and it's working as expected :

```
version: '2.2'
services:
  master1:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: master1
    environment:
      - node.name=master1
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=master1,master2,master3,es01,es02,es03
      - cluster.initial_master_nodes=master1,master2,master3
      - node.master=true
      - node.ingest=false
      - node.data=false
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - master1:/usr/share/elasticsearch/data
    networks:
      - elastic

  master2:
    depends_on:
      - master1
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: master2
    environment:
      - node.name=master2
      - cluster.name=es-docker-cluster
      - node.master=true
      - node.ingest=false
      - node.data=false
      - discovery.seed_hosts=master1,master2,master3,es01,es02,es03
      - cluster.initial_master_nodes=master1,master2,master3
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - master2:/usr/share/elasticsearch/data
    networks:
      - elastic

  master3:
    depends_on:
      - master1
      - master2
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: master3
    environment:
      - node.name=master3
      - cluster.name=es-docker-cluster
      - node.master=true
      - node.ingest=false
      - node.data=false
      - discovery.seed_hosts=master1,master2,master3,es01,es02,es03
      - cluster.initial_master_nodes=master1,master2,master3
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - master3:/usr/share/elasticsearch/data
    networks:
      - elastic

  es01:
    depends_on:
      - master1
      - master2
      - master3
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - node.master=false
      - discovery.seed_hosts=master1,master2,master3
      - cluster.initial_master_nodes=master1,master2,master3
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic

  es02:
    depends_on:
      - master1
      - master2
      - master3
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - node.master=false
      - discovery.seed_hosts=master1,master2,master3
      - cluster.initial_master_nodes=master1,master2,master3
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  es03:
    depends_on:
      - master1
      - master2
      - master3
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - node.master=false
      - discovery.seed_hosts=master1,master2,master3
      - cluster.initial_master_nodes=master1,master2,master3
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local
  master1:
    driver: local
  master2:
    driver: local
  master3:
    driver: local

networks:
  elastic:
    driver: bridge
```

---

<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:** [December 19, 2019, 10:05am UTC](https://discuss.elastic.co/t/elasticsearch-on-docker-cant-have-a-dedicated-master-node/208733/3 "2019-12-19T10:05:25Z")

</div>

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