Docker安装ElasticSearch

拉取ES镜像

docker pull elasticsearch:9.2.1  

安装临时ES容器,用于拷贝挂载文件

docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:9.2.1  

拷贝挂载目录下的文件

docker cp -a es:/usr/share/elasticsearch/config/ /docker-data/elasticsearch  
docker cp -a es:/usr/share/elasticsearch/data/ /docker-data/elasticsearch  
docker cp -a es:/usr/share/elasticsearch/logs/ /docker-data/elasticsearch  
docker cp -a es:/usr/share/elasticsearch/plugins/ /docker-data/elasticsearch  

停止es服务,并删除临时容器

docker stop es  
docker rm es  

编辑配置文件

vi /docker-data/elasticsearch/config/elasticsearch.yml

添加

http.cors.enabled: true  
http.cors.allow-origin: "*"  
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type  

修改

xpack.security.http.ssl:  
  enabled: false  
  keystore.path: certs/http.p12  

创建正式es容器

docker run -p 9200:9200 -p 9300:9300 \  
--privileged=true --name es \  
-e "discovery.type=single-node" \  
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \  
-v /docker-data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \  
-v /docker-data/elasticsearch/data:/usr/share/elasticsearch/data \  
-v /docker-data/elasticsearch/logs:/usr/share/elasticsearch/logs \  
-v /docker-data/elasticsearch/config:/usr/share/elasticsearch/config \  
-d elasticsearch:9.2.1  

设置用户名和密码
进入容器

docker exec -it es /bin/bash  

执行命令输入y开始设置密码,建议六个密码设置成一样的

bin/elasticsearch-setup-passwords interactive  

退出容器

exit

重启容器

docker restart es  

Docker安装ElasticSearch
https://ppaet.github.io/Docker安装ElasticSearch.html
作者
ppaet
发布于
2025年11月12日
许可协议