拉取镜像
docker pull elasticsearch:8.13.4
docker pull kibana:8.12.2
创建专用网络(可选但推荐)
为 Elasticsearch 和后续 Kibana 创建独立网络:
docker network create docker_default
此网络可确保容器间通信隔离。
创建挂载目录
mkdir /opt/elasticsearch
不挂载启动
点击查看代码
docker run -d \
--restart=always \
--name elasticsearch \
--network docker_default \
-p 9388:9200 \
-p 9389:9300 \
--privileged \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
elasticsearch:8.13.4
cp初始化文件
docker cp elasticsearch:/usr/share/elasticsearch/data /opt/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/plugins /opt/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/config /opt/elasticsearch/
赋权限
cd /opt/elasticsearch/
chmod 777 config/ data/ plugins/
删除未挂载启动es容器
docker stop elasticsearch
docker rm elasticsearch
重新启动容器并挂载
点击查看代码
docker run -d \
--restart=always \
--name elasticsearch \
--network docker_default \
-p 9388:9200 \
-p 9389:9300 \
--privileged \
-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /opt/elasticsearch/config:/usr/share/elasticsearch/config \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
elasticsearch:8.13.4
关闭安全验证
1、导航到配置文件位置
cd /opt/elasticsearch/config/
2、vim elasticsearch.yml
默认为true,设置为false
xpack.security.enabled: false
3、保存退出
:wq
4、重启es
docker restart elasticsearch