- 准备好镜像(装好中文分词等插件)
- 搭建 docker 镜像仓库
- 编写 docker-compose.yml
- docker swarm
docker stack deploy -c docker-compose.yml es_demo
发布服务 - 安装可视化工具 kibana 要与 es 同一网络
docker-compose.yml
version: '3'
services:
elasticsearch:
image: 192.168.1.190:5000/elasticsearch_ik:6.7.0_3
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
#- bootstrap.memory_lock=true
- xpack.security.enabled=false
- node.master=true
- node.data=true
- http.cors.enabled=true
- http.cors.allow-origin="*"
- "ES_JAVA_OPTS=-Xms1G -Xmx1G"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/hongyu/env/es_data:/usr/share/elasticsearch/data
#- /home/hongyu/Projects/dockerfile/es-docker/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
ports:
- "9200:9200"
- "9300:9300"
networks:
- esnet
deploy:
mode: global
placement:
constraints: [node.role == manager]
elasticsearch2:
image: 192.168.1.190:5000/elasticsearch_ik:6.7.0_3
container_name: elasticsearch2
environment:
- cluster.name=docker-cluster
#- bootstrap.memory_lock=true
- xpack.security.enabled=false
- node.master=false
- node.data=true
- http.cors.enabled=true
- http.cors.allow-origin="*"
- "ES_JAVA_OPTS=-Xms1G -Xmx1G"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/ffy/env/es_data:/usr/share/elasticsearch/data
networks:
- esnet
deploy:
mode: global
placement:
constraints: [node.role == worker]
visualizer:
image: 192.168.1.190:5000/visualizer:latest
ports:
- "9080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
replicas: 1
placement:
constraints: [node.role == manager]
kibana:
image: 192.168.1.190:5000/kibana:6.7.0
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ports:
- 5601:5601
networks:
- esnet
deploy:
mode: global
placement:
constraints: [node.role == worker]
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
esnet: