Docker安装单机ElasticSearch8.x

210 阅读1分钟

docker镜像仓库地址 hub.docker.com/_/elasticse…

下载docker镜像

docker pull elasticsearch:8.4.1

使用docker容器启动

docker run --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1G -Xmx1G" \
--privileged \
-d elasticsearch:8.4.1

启动完成之后复制容器中/usr/share/elasticsearch/下面config、data、logs、plugins文件到挂在目录下

docker cp <容器id>:/usr/share/elasticsearch/config 宿主机挂载目录地址/config
docker cp <容器id>:/usr/share/elasticsearch/data 宿主机挂载目录地址/data
docker cp <容器id>:/usr/share/elasticsearch/logs 宿主机挂载目录地址/logs
docker cp <容器id>:/usr/share/elasticsearch/plugins 宿主机挂载目录地址/plugins

想要将es8默认的https改为http访问,需要修改elasticsearch.yml配置文件中

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

修改为下面(修改了之后,kibana无法连接)

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

删除临时启动的容器

docker stop <容器id>
docker rm <容器id>

使用下面的参数再次启动

docker run --name elasticsearch --restart=always \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1G -Xmx1G" \
-v /soft/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /soft/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /soft/docker/elasticsearch/config:/usr/share/elasticsearch/config \
-v /soft/docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /etc/localtime:/etc/localtime:ro \
--privileged \
-it elasticsearch:8.4.1

进入容器内部重置密码

docker exec -it elasticsearch bash
elasticsearch-reset-password -u elastic

修改其他密码方法:

elasticsearch-reset-password -u 用户名 重置密码
elasticsearch-reset-password --username 用户名 -i 修改指定用户密码
elasticsearch-reset-password --username kibana_system 重置kibana密码
elasticsearch-reset-password --url “https://host:port” --username ‘用户名’ -i

账号是elastic,访问http://127.0.0.1:9200