一、镜像准备
docker pull elasticsearch:7.9.2
二、创建主机目录
# 1.创建目录
mkdir -p /data/elasticsearch/{config,data,plugins}
# 2.开放目录权限
chmod -R 777 /data/elasticsearch/
# 3.创建配置文件
echo -e "cluster.name: \"docker-cluster\"\nnetwork.host: 0.0.0.0">>/data/elasticsearch/config/elasticsearch.yml
三、创建elasticsearch容器
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx512m" \
-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.9.2
四、安装中文分词器(可选)
# 进入容器
docker exec -it elasticsearch /bin/bash
# 安装分词器(注意版本要匹配)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip
五、时区同步(容器默认UTC时区)
# 1.复制主机localtime
docker cp /usr/share/zoneinfo/Asia/Shanghai elasticsearch:/etc/localtime
# 2.进入容器
docker exec -it elasticsearch /bin/bash
# 3.同步jvm时区
echo "Asia/Shanghai" > /etc/timezone
# 4.重启容器
docker restart elasticsearch
六、开机自启
# docker开机自启
systemctl enable docker.service
# tomcat容器开机自启
docker update --restart=always elasticsearch