docker安装es8和kibana

es8、kibana安装、ik分词器使用

    • [1 拉取镜像](#1 拉取镜像)
    • [2 创建网络](#2 创建网络)
    • [3 安装ES](#3 安装ES)
      • [3.1 启动临时的ES](#3.1 启动临时的ES)
      • [3.2 运行es](#3.2 运行es)
      • [3.3 修改用户密码](#3.3 修改用户密码)
    • [4 安装kibana](#4 安装kibana)
      • [4.1 启动临时的kibana](#4.1 启动临时的kibana)
      • [4.2 修改配置文件](#4.2 修改配置文件)
      • [4.3 重启kibana](#4.3 重启kibana)
      • [4.4 调用5601端口(我映射的是8082)](#4.4 调用5601端口(我映射的是8082))
    • [5 安装ik分词器(离线安装)](#5 安装ik分词器(离线安装))
      • [5.1 下载zip包](#5.1 下载zip包)
      • [5.2 解压并上传](#5.2 解压并上传)
      • [5.3 重启es容器](#5.3 重启es容器)
      • [5.4 测试](#5.4 测试)
    • [6 ES实操(努力编写中)](#6 ES实操(努力编写中))

1 拉取镜像

powershell 复制代码
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.2
docker pull docker.elastic.co/kibana/kibana:8.6.2

## 镜像打个tag 方便使用
docker tag docker.elastic.co/elasticsearch/elasticsearch:8.6.2 elasticsearch:8.6.2 
docker tag docker.elastic.co/kibana/kibana:8.6.2 kibana:8.6.2

2 创建网络

powershell 复制代码
docker network create esnet

3 安装ES

3.1 启动临时的ES

目的是es的配置文件,数据文件,插件文件等,方便es挂载

powershell 复制代码
docker run --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" elasticsearch:8.6.2

## 负责容器内的文件到宿主机
docker cp -a es:/usr/share/elasticsearch/config /opt/es
docker cp -a es:/usr/share/elasticsearch/data /opt/es
docker cp -a es:/usr/share/elasticsearch/logs /opt/es
docker cp -a es:/usr/share/elasticsearch/plugins /opt/es

修改/opt/es/config/elasticsearch.yml(宿主机)

3.2 运行es

powershell 复制代码
docker run --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /opt/es/plugins:/usr/share/elasticsearch/plugins -v /opt/es/data:/usr/share/elasticsearch/data -v /opt/es/logs:/usr/share/elasticsearch/logs -v /opt/es/config:/usr/share/elasticsearch/config --network esnet elasticsearch:8.6.2

3.3 修改用户密码

进入容器内重新设置密码

powershell 复制代码
docker exec -it es bash
### 执行/root/bin中的 elasticsear-reset-password命令 
elasticsearch-reset-password -u elastic

记住密码:qAkhP0CI439SCHGN7+C8

退出容器 exit

请求9200端口,输入账号密码

4 安装kibana

4.1 启动临时的kibana

和es一样,为了获取到配置文件

powershell 复制代码
mkdir kibana
docker run --name kb -p 5601:5601 kibana:8.6.2
docker cp -a kb:/usr/share/kibana/config /opt/kibana

4.2 修改配置文件

  1. 创建新的es用户,不能使用elastic用户,因为权限太大。
powershell 复制代码
## 进入es容器
docker exec -it es bash
## 添加用户并授权
cd /root/bin
./elasticsearch-users useradd admin
./elasticsearch-users roles -a superuser admin
./elasticsearch-users roles -a kibana_system admin
  1. 查看docker network 网桥
powershell 复制代码
docker network inspect esnet
  1. 修改/opt/kibana/kibana.yml(宿主机)

将es用户、docker network网桥ip配置到kibana.yml中

xml 复制代码
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://172.19.0.1:9200" ]
xpack.screenshotting.browser.chromium.disableSandbox: true
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: admin
elasticsearch.password: admin123

4.3 重启kibana

powershell 复制代码
docker container restart kb

4.4 调用5601端口(我映射的是8082)

5 安装ik分词器(离线安装)

5.1 下载zip包

在官网下载对应版本的zip包。https://github.com/infinilabs/analysis-ik

5.2 解压并上传

将zip解压,并重命名为ik,然后将ik文件夹上传到es的插件挂载目录(es容器启动时的挂载目录)

5.3 重启es容器

powershell 复制代码
docker restart es

5.4 测试

打开dev tool 工具页面

objectivec 复制代码
GET /_analyze
{
  "text": "如何安装和使用es",
  "analyzer": "ik_max_word"
}

6 ES实操(努力编写中)

http://baidu.com

相关推荐
伊成1 小时前
详解docker挂载目录常用方式
docker·容器·eureka
风清再凯1 小时前
docker镜像的构建image
运维·docker·容器
风清再凯1 小时前
docker 网络
网络·docker·容器
饭碗、碗碗香1 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器
想躺平的咸鱼干2 小时前
Elasticsearch 的自动补全以及RestAPI的使用
java·后端·elasticsearch·中间件·intellij-idea
天外来物2 小时前
实战分享:用CI/CD实现持续部署
前端·nginx·docker
谷新龙0013 小时前
docker compose搭建elk 8.6.2
elk·docker·容器
摇滚侠3 小时前
elasticSearch是什么,如何使用,有什么用
大数据·elasticsearch·搜索引擎
David爱编程3 小时前
容器性能优化实战指南——防止“吃爆”服务器就靠这些招!
后端·docker·容器
藥瓿锻4 小时前
2024 CKS题库+详尽解析| 1. kube-bench 修复不安全项
运维·安全·docker·云原生·容器·kubernetes·cks