Docker 安装 Elasticsearch 和 kibana
- 获取镜像
docker pull elasticsearch:8.11.4
docker pull elasticsearch:8.11.4
- 创建网络
docker network create es-net
- 运行 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 下,假如使用宿主配置的话,可以在容器创建的时候进行映射。
- 重置密码
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
-
验证 ES
在浏览器输入 https://localhost:9200
接下来就会弹出登录页面了,如下图,填写账号elastic,密码是刚才控制台返回的
如果看到以下信息,证明es启动成功
-
运行 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 下,假如使用宿主配置的话,可以在容器创建的时候进行映射。
- 生成 token
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
控制台会生成一长串文本,请保存下来,这是稍后给kibana用来连接es的token
- 认证
浏览器访问http://localhost:5601/,会弹出输入窗口,如下图,在文本框内输入刚才生成的token内容,再点击Configure Elastic按钮
然后弹出个输入验证码的页面
在控制台输入以下命令,顺利拿到验证码
docker exec -it kibana bin/kibana-verification-code
回到网页输入验证码,可以看到初始化页面
-
登录
接下来就是常规的安全登录了,如下图,输入es的账号密码即可登录成功
-
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"
直面挑战,躬身入局