Docker 安装 Elasticsearch 和 kibana

  1. 获取镜像
docker pull elasticsearch:8.11.4
docker pull elasticsearch:8.11.4
  1. 创建网络
docker network create es-net
  1. 运行 es
docker run -d --name es --network es-net -p 9200:9200 -p 9300:9300 --privileged  -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" elasticsearch:8.11.4

ES 8 的配置文件地址:/usr/share/elasticsearch/config 下,假如使用宿主配置的话,可以在容器创建的时候进行映射。

  1. 重置密码
docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Password for the [elastic] user successfully reset.
New value: fCN-X5U+jYBRVMQ8u*s

docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system 

Password for the [kibana_system] user successfully reset.
New value: kyNEGHYOp9PQuK6cgxM

  1. 验证 ES
    在浏览器输入 https://localhost:9200

    接下来就会弹出登录页面了,如下图,填写账号elastic,密码是刚才控制台返回的

    如果看到以下信息,证明es启动成功

  2. 运行 kibana

docker run -d --name kibana --network es-net -p 5601:5601  -e ELASTICSEARCH_URL=http://es:9200 kibana

ELASTICSEARCH_URL 是 ES 的地址
kibana8 配置文件地址:/usr/share/kibana/config 下,假如使用宿主配置的话,可以在容器创建的时候进行映射。

  1. 生成 token
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

控制台会生成一长串文本,请保存下来,这是稍后给kibana用来连接es的token

  1. 认证
    浏览器访问http://localhost:5601/,会弹出输入窗口,如下图,在文本框内输入刚才生成的token内容,再点击Configure Elastic按钮

    然后弹出个输入验证码的页面

    在控制台输入以下命令,顺利拿到验证码
docker exec -it kibana bin/kibana-verification-code

回到网页输入验证码,可以看到初始化页面

  1. 登录
    接下来就是常规的安全登录了,如下图,输入es的账号密码即可登录成功

  2. kibana 设置为中文:
    由于容器中无法编辑,可以通过 cp 命令把配置文件复制出来修改后再覆盖
    从容器中把配置文件复制到本地:

docker cp kibana:/usr/share/kibana/config/kibana.yml D://docker/kibana

本地配置文件复制到容器中

docker cp D://docker/kibana/kibana.yml kibana:/usr/share/kibana/config

配置 kibana 中文,在kibana.yml 中添加一行:

i18n.locale: "zh-CN"
posted @ 2024-05-08 14:04  熠然  阅读(127)  评论(0编辑  收藏  举报