Does Elasticsearch have capability to form ES cluster with only one ES docker service running multiple replicas of it in Docker-Swarm

I wanna run only one elasticsearch service in docker-swarm cluster having multiple replicas or at least one replica of this service in each node of docker-swarm cluster.

Does Elasticsearch have capability to form ES cluster with only one ES docker service running multiple replicas of it in Docker-Swarm. Below is my elasticsearch.yml config and docker-compose.yml files

Is it possible or not . If yes what tweaking needs to be done in elasticsearch.yml file to get desired results.

version: '3.5'
services:
    elasticsearch:
    image: elasticsearch:5
    deploy:
      mode: global
#      replicas: 3
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
#      placement:
#        constraints: [node.role == manager]
    labels:
      - com.docker.lb.sticky_session_cookie=session
      - com.docker.lb.port=9300
      - com.docker.lb.hosts=demo.local

    environment:
      - ES_JAVA_OPTS=${ELASTICSEARCH_MEM}
      - METADATA="demo-sticky"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    configs:
      - source: elasticsearch.yml
        target: /usr/share/elasticsearch/config/elasticsearch.yml
    logging:
      driver: syslog
      options:
        tag: "{{.Name}}/{{.ID}}"
    ports:
      - 9200:9200
      - 9300:9300
volumes:
  esdata:
configs:
  elasticsearch.yml:
    external: true
#elasticsearch.yml file
http.host: 0.0.0.0
transport.host: 0.0.0.0

network.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 1
node.name: elasticsearch-node1
discovery.zen.ping.unicast.hosts: ["elasticsearch"]
cluster.name: elasticsearch
transport.publish_port: 9300
transport.publish_host: elasticsearch
node.master: true

#node.data: true