前提:系统中已经安装好docker和docker-compose。
1、新建一个目录用 Elasticsearch,用于存放相关的配置文件(我的目录为:/Volumes/Home/Elasticsearch)
2、新建 docker-compose.yml 其内容如下:
version: '2'
services:
es-data-server:
image: elasticsearch:7.6.0
container_name: es-data-server
environment:
- "ES_JAVA_OPTS=-Xms2024m -Xmx2024m"
# 支持跨域访问
- "http.cors.enabled=true"
- "http.cors.allow-origin=*"
#必须指定索引库进行删除
- "action.destructive_requires_name=true"
#禁用自动创建索引
- "action.auto_create_index=.watches,.triggered_watches,.watcher-history-*"
- "bootstrap.memory_lock=true"
- "path.logs=/usr/share/elasticsearch/logs"
- "network.host= 0.0.0.0"
- "node.name=es-data-server"
- "cluster.initial_master_nodes=es-data-server"
restart: always
volumes:
#es数据文件存放地址
- /data/mydata/es-data-server/config/data:/usr/share/elasticsearch/data
- /data/mydata/logs/es-data-server:/usr/share/elasticsearch/logs
#配置同义词文件地址
- /data/mydata/es-data-server/config/analysis:/usr/share/elasticsearch/config/analysis
# 配置插件映射地址
- /data/mydata/es-data-server/plugins:/usr/share/elasticsearch/plugins
ports:
# 端口映射
- 9200:9200
- 9300:9300
ulimits:
memlock:
soft: -1
hard: -1
#kibana不是必须的,这个是es的一个客户端,可以方便的管理es和执行各命令
kibana:
image: kibana:7.6.0
container_name: kibana
environment:
- elasticsearch.hosts=http://elasticsearch:9200
ports:
- 5601:5601
extra_hosts:
# elasticsearch的服务器IP地址
- elasticsearch:10.81.248.230
3、在 /Volumes/Home/Elasticsearch 下执行docker-compose ( 这需要花点时间,因为要下载两个镜像)
4、第3步完成后,可以用docker ps查看是否正常启动(若没有启动成功,可以用下面这个命令查看日志: docker logs 容器名称)
5、浏览器访问:http://localhost:5601/app/kibana 进入es的客户端,在下面的界面可以操作ES了
(如果这里访问5601打不开下面的界面,那一般有2个可能:1、docker-compose.yml中elasticsearch的IP地址不对,2、就是elasticsearch服务没有正常启动)。