安装es和kibana

发布于:2025-09-07 ⋅ 阅读:(22) ⋅ 点赞:(0)

1.上传,然后拉取(记得要在所在目录下)

2.docker images查看是否拉取成功

3.创建容器并启动

docker run -d \
--name es \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v /path/to/es/data:/usr/share/elasticsearch/data \
elasticsearch:7.12.1
docker run -d \
--name kibana \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://es:9200" \
kibana:7.12.1

4.docker ps检查一下这两个有没有,如果没有那就是要启动一下

docker start es
docker start kibana

然后在检查一下就好了

如果发现启动了过一会自动断掉了,可以 docker logs es检查一下

我这里是权限问题,为 /root 目录默认只有 root 用户有读写权限,而 Elasticsearch 容器内通常是以 elasticsearch 用户(UID 一般为 1000)运行的,该用户没有对 /root 目录的访问权限

所以我要创建一个新的有权限的目录来存放,但是之前的已经挂载好了,所以要先删掉,不然会重名,但是镜像不需要删掉,因为这里只是修改了挂载目录

1.停止并删除已存在的 es 容器

首先,使用以下命令停止 es 容器:

docker stop es

2.删除该容器:

docker rm es

3.创建新数据目录:在系统中选一个合适的位置(比如 /data/es_data),创建专门用于 Elasticsearch 数据持久化的目录

mkdir -p /data/es_data

4.修改目录权限:让 Elasticsearch 容器内的 elasticsearch 用户(默认 UID/GID 为 1000)能访问该目录

chown -R 1000:1000 /data/es_data

5.重新创建并启动 es 容器

docker run -d \
--name es \
--network hm-net \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/es_data:/usr/share/elasticsearch/data \
elasticsearch:7.12.1

然后就可以了

如果访问不了,那可能就是端口没有开放,开放一下端口就好了

sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

然后要重启一下docker

然后再次启动es和kibana

docker start es
docker start kibana

然后docker ps检查一下有没有,然后再访问一下,就好了

这样就可以了


网站公告

今日签到

点亮在社区的每一天
去签到