Docker 安装 elasticsearch(ik分词器),kibana

549 阅读2分钟
1.拉取镜像
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
2.新建docker-compose文件

services:  # 定义一组服务,每个服务就是一个容器。
  elasticsearch:  # 定义 Elasticsearch 服务。
    image: elasticsearch:7.4.2  # 使用 Elastic 官方的 Elasticsearch 7.4.2 镜像。
    container_name: elasticsearch  # 给容器指定一个名称,方便管理。
    environment:  # 设置环境变量,这些变量会传递给容器中的进程。
      - discovery.type=single-node  # 启动 Elasticsearch 时,指定为单节点模式,不启动集群模式。适用于开发或测试环境。
      - ES_JAVA_OPTS=-Xms512m -Xmx512m  # 配置 JVM 堆内存,分别设置最小内存 (-Xms) 和最大内存 (-Xmx) 为 512MB。
    volumes:  # 将本地路径或 Docker 卷挂载到容器中。
      - ./es/data:/usr/share/elasticsearch/data  # 持久化 Elasticsearch 数据到本地卷 'esdata',这样容器重启时数据不会丢失。
      - ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  # 挂载自定义配置文件
      - ./es/plugins:/usr/share/elasticsearch/plugins  # 挂载插件目录
    ports:  # 映射容器端口到主机端口,允许外部访问。
      - "19200:9200"  # 映射容器的 19200 端口到主机的 9200 端口。用于访问 Elasticsearch HTTP 接口。
      - "19300:9300"  # 映射容器的 19300 端口到主机的 9300 端口。用于集群间通信(如果启用集群模式时)。
    networks:  # 将容器连接到指定的网络。
      - es-kibana-net  # 指定这个容器连接到名为 'es-kibana-net' 的网络,以便与 Kibana 服务通信。

  kibana:  # 定义 Kibana 服务。
    image: kibana:7.4.2  # 使用 Elastic 官方的 Kibana 7.4.2 镜像。
    container_name: kibana  # 给容器指定一个名称,方便管理。
    environment:  # 设置环境变量,传递给容器中的进程。
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200  # 配置 Kibana 连接的 Elasticsearch 实例,'elasticsearch' 是服务名称,Docker Compose 会自动解析为容器的主机名。
      - I18N_LOCALE=zh-CN # 设置 Kibana 使用中文
    ports:  # 映射容器端口到主机端口,允许外部访问。
      - "5601:5601"  # 映射容器的 5601 端口到主机的 5601 端口。用于访问 Kibana Web 界面。
    networks:  # 将容器连接到指定的网络。
      - es-kibana-net  # 指定 Kibana 连接到 'es-kibana-net' 网络,以便能够访问 Elasticsearch 服务。
    depends_on:  # 该配置项确保 Kibana 在 Elasticsearch 启动后才启动。
      - elasticsearch  # Kibana 依赖于 Elasticsearch 服务,Kibana 会等待 Elasticsearch 服务启动。

networks:  # 定义 Docker 网络。
  es-kibana-net:  # 定义一个名为 'es-kibana-net' 的网络。
    driver: bridge  # 使用桥接模式网络,容器可以通过容器名称(如 'elasticsearch')进行通信。
3. 创建挂载文件赋权限
mkdir -p es/config/ es/data/ es/plugins/
chmod -R 775 es
4.设置网络 不然不可访问
echo "http.host: 0.0.0.0" >>es/config/elasticsearch.yml
5. 设置ik中文分词器
cd es/plugins
mkdir analysis-ik
cd analysis-ik
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.4.2.zip
unzip elasticsearch-analysis-ik-7.4.2.zip
6.启动
docker-compose up -d

ES可视化工具 es_client