docker 配置 elasticsearch

## 创建一个 network 方便其他服务连接,比如 Kibana
# docker network create elasticSearchNetwork

# docker run -d --name elasticsearch --net elasticSearchNetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.7.0

## 将本地配置文件映射到容器,方便日后修改配置
# mkdir ~/Desktop/elasticsearch

# docker cp 容器ID:/usr/share/elasticsearch/config ~/Desktop/elasticsearch
# docker cp 容器ID:/usr/share/elasticsearch/data ~/Desktop/elasticsearch
# docker cp 容器ID:/usr/share/elasticsearch/logs ~/Desktop/elasticsearch

## 关闭容器后重启即可,config、data、logs 都在宿主机,方便查看和修改配置
docker run -d --name elasticsearch --net elasticSearchNetwork -v ~/Desktop/elasticsearch/config:/usr/share/elasticsearch/config -v ~/Desktop/elasticsearch/data:/usr/share/elasticsearch/data -v ~/Desktop/elasticsearch/logs:/usr/share/elasticsearch/logs -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.7.0

## http://localhost:9200

附录:
使用 Kibana 连接 elasticsearch

## 注意这里的 network 要使用刚刚 elasticsearch 创建的网络
## kibana 的版本也要和 elasticsearch 一致,防止出现奇怪的问题
# docker run -d --name kibana --net elasticSearchNetwork -p 5601:5601 kibana:7.7.0

## 同样的,将 docker 中的配置文件拷贝到宿主机,方便配置
# ~/Desktop/kibana
# docker cp 090b7ba075fdffaffa636f61df9b188f624a94abc127573c23af5451e3d7de76:/usr/share/kibana/config ~/Desktop/kibana

## 修改配置文件 kibana.yml 添加一行,配置 Kibana 为中文
i18n.locale: "zh-CN"

## 关闭容器后重启即可
docker run -d --name kibana --net elasticSearchNetwork -v ~/Desktop/kibana/config:/usr/share/kibana/config -p 5601:5601 kibana:7.7.0

## http://localhost:5601