拉取镜像文件
sudo docker pull elasticsearch:8.2.0
创建容器挂载目录
sudo mkdir -p /home/elasticsearch/config
sudo mkdir -p /home/elasticsearch/data
sudo mkdir -p /home/elasticsearch/plugins
直接先启动一个简单的es容器
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.2.0
将容器里的config文件夹的东西拷贝到宿主机上
docker cp elasticsearch:/usr/share/elasticsearch/config /home/elasticsearch
删除临时容器
docker stop elasticsearch
docker rm -f elasticsearch
给三个挂载目录进行chmod 777
chmod 777 /home/elasticsearch/config
chmod 777 /home/elasticsearch/data
chmod 777 /home/elasticsearch/plugins
修改elasticsearch.yml
cluster.name: "es-cluster"
network.host: 0.0.0.0
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 05-12-2023 07:26:33
#
# --------------------------------------------------------------------------------
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
创建容器
sudo docker run \
--name elasticsearch \
-p 9200:9200 -p 9300:9300 \
--restart unless-stopped \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx512m" \
-v /home/elasticsearch/config:/usr/share/elasticsearch/config \
-v /home/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /home/elasticsearch/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:8.2.0
- -p 端口映射
- -e discovery.type=single-node 单点模式启动
- -e ES_JAVA_OPTS=“-Xms84m -Xmx512m”:设置启动占用的内存范围
- -v 目录挂载
- -d 后台运行
设置密码:
docker exec -it elasticsearch bash
elasticsearch-setup-passwords interactive
.... 设置 es_xpack 认证的6个账户密码 ....
docker ps 查看是否启动
docker logs elasticsearch 启动日志查询
docker restart elasticsearch 重启
docker exec -it elasticsearch bash 进入