Docker安装Elasticsearch和Kibana

本文详细介绍如何使用Docker安装Elasticsearch 7.2.0版本,包括配置跨域、安装ik分词器及Kibana的过程。通过具体步骤指导,确保Elasticsearch顺利运行并实现中文分词优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Elasticsearch安装

  • 拉取Elasticsearch镜像
docker pull elasticsearch:7.2.0

这里我们安装的版本是7.2.0

  • 创建Elasticsearch容器
docker run --name -di elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0

-i:表示运行容器

-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

–name :为创建的容器命名。

-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

启动以后可以打开浏览器输入http://服务器地址::9200,在页面看到下面的内容就说明安装成功了

{
    name: "5b0c7f19b936",
    cluster_name: "docker-cluster",
    cluster_uuid: "n-XweTOASVqlM9Nq-2Rznw",
    version: {
        number: "7.2.0",
        build_flavor: "default",
        build_type: "docker",
        build_hash: "508c38a",
        build_date: "2019-06-20T15:54:18.811730Z",
        build_snapshot: false,
        lucene_version: "8.0.0",
        minimum_wire_compatibility_version: "6.8.0",
        minimum_index_compatibility_version: "6.0.0-beta1"
    },
    tagline: "You Know, for Search"
}
  • 修改配置,解决跨域问题

首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。

-> docker exec -it elasticsearch /bin/bash
-> cd /usr/share/elasticsearch/config/
-> vi elasticsearch.yml

添加一下内容:

http.cors.enabled: true
http.cors.allow-origin: "*"

重启容器

-> exit
-> docker restart elasticsearch
  • 安装ik分词器

    Elasticsearch自带的分词器对中文分词不是很友好,我们适应ik分词器插件,下载地址
    注Elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。

-> docker exec -it elasticsearch /bin/bash
-> cd /usr/share/elasticsearch/plugins/
-> elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
-> exit
-> docker restart elasticsearch 

kibana安装

  • 拉取kibana镜像
docker pull kibana:7.2.0
  • 创建kibana容器
-> docker run -di --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.2.0

启动以后可以打开浏览器输入http://服务器地址:5601就可以打开kibana的界面了。

### 使用 Docker 安装配置 Elasticsearch Kibana 教程 #### 创建必要的目录结构 为了更好地管理持久化数据,在主机上创建相应的目录用于存储ElasticsearchKibana的数据以及配置文件。 ```bash mkdir -p /home/docker/elasticsearch/data/ mkdir -p /home/docker/elasticsearch/config/ mkdir -p /home/docker/kibana/config/ ``` 对于Kibana的配置文件,可以按照如下方式创建并编辑: ```bash vi /home/docker/kibana/config/kibana.yml ``` 在此文件中设置连接至Elasticsearch的相关参数[^1]。 #### 下载官方镜像 通过Docker Hub或其他可信源获取最新的ElasticsearchKibana镜像。例如,执行以下命令来拉取指定版本的镜像: ```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.1 docker pull docker.elastic.co/kibana/kibana:8.12.1 ``` 这里使用的是特定版本号`8.12.1`作为例子,实际应用时可以根据需求调整版本号[^4]。 #### 启动Elasticsearch服务 启动Elasticsearch实例并将本地路径映射给容器内的相应位置以便于访问日志其他资源。下面是一个简单的运行命令示例: ```bash docker run -d \ --name elasticsearch \ -e "discovery.type=single-node" \ -v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \ -v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -p 9200:9200 \ docker.elastic.co/elasticsearch/elasticsearch:8.12.1 ``` 上述命令设置了单节点集群模式,并开放了默认REST API端口9200供外部调用[^3]。 #### 配置与启动Kibana服务 同样地,也需要为Kibana准备一个合适的环境变量列表以确保其能够正常工作并与前面提到的Elasticsearch实例建立联系。以下是启动Kibana的一个基本方法: ```bash docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTS=http://localhost:9200 \ -v /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \ -p 5601:5601 \ docker.elastic.co/kibana/kibana:8.12.1 ``` 注意这里的`ELASTICSEARCH_HOSTS`应该指向之前已经成功部署好的Elasticsearch地址。 #### 使用 `docker-compose` 进行简化管理 如果希望进一步简化多容器项目的管理工作,则推荐采用`docker-compose`工具。只需要定义好YAML格式的服务描述文档即可一键完成整个系统的搭建过程。比如这样一份典型的组合方案: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.12.1 container_name: elasticsearch environment: - discovery.type=single-node volumes: - ./data/elasticsearch:/usr/share/elasticsearch/data - ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ports: - "9200:9200" kibana: image: docker.elastic.co/kibana/kibana:8.12.1 container_name: kibana environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 volumes: - ./config/kibana.yml:/usr/share/kibana/config/kibana.yml ports: - "5601:5601" depends_on: - elasticsearch ``` 保存以上内容到名为`docker-compose.yml`的文件里之后,只需一条指令就能让所有组件按序自动启动起来: ```bash docker-compose up -d ``` 这不仅减少了手动输入大量重复性的CLI选项所带来的麻烦,而且使得跨平台移植变得更加容易实现[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值