参考:https://www.cnblogs.com/benjieqiang/p/17501293.html#:~:text=3%E5%88%86%E9%92%9F%E5%AE%8C%E6%88%90Macbook%20m1%E8%8A%AF%E7%89%87%E4%BD%BF%E7%94%A8docker%E5%AE%89%E8%A3%85Elasticsearch%E5%92%8CKibana%201%201%E3%80%81%E4%B8%8B%E8%BD%BD%E9%95%9C%E5%83%8F%E6%96%87%E4%BB%B6,2%202%E3%80%81%E5%88%9B%E5%BB%BAes%E5%AE%9E%E4%BE%8B%203%203%E3%80%81%E5%88%9B%E5%BB%BAKibana

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
docker pull elasticsearch:7.16.2
docker pull kibana:7.16.2

➜  codes mkdir elasticsearch
➜  codes cd elasticsearch
➜  elasticsearch mkdir config
➜  elasticsearch mkdir data
➜  elasticsearch mkdir plugins
➜  codes chmod -R 777 ./elasticsearch
➜  codes echo "http.host: 0.0.0.0" >> elasticsearch/config/elasticsearch.yml
➜  codes

# -d : 后台运行
# -p : 指定宿主机与docker启动容器的端口映射
# --name : 为 elasticsearch 容器起个别名
# -e : 指定为单节点集群模式
# -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ 设置ES的初始内存和最大内存,否则导致过大启动不了ES
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /Users/yuki/codes/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /Users/yuki/codes/elasticsearch/data:/usr/share/elasticsearch/data \
-v /Users/yuki/codes/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.16.2

➜  elasticsearch docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' elasticsearch
172.17.0.2

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.0.2:9200 -e "I18N_LOCALE=zh-CN" -p 5601:5601 -d kibana:7.16.2


docker pull alivv/elasticsearch-head
    vi config/elasticsearch.yml
    添加
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
docker create --name elasticsearch-head -p 9100:9100 alivv/elasticsearch-head