📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
Docker
Docker Compose
Easyserach
Console
DevOps
2025-10-28

系列回顾与引言 #

在我们的 INFINI 本地环境搭建系列博客中:

  1. 第一篇《 搭建持久化的 INFINI Console 与 Easysearch 容器环境》,我们深入探讨了如何使用基础的 docker run 命令,一步步构建起 Console 和 Easysearch 服务,并重点解决了数据持久化的问题。
  2. 第二篇《 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建》,我们学习了如何利用 Docker Compose 的声明式配置,将多容器应用的定义和管理变得更加简洁高效。
  3. 第三篇《 一键启动:使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境》,我们介绍了如何在联网环境下,一键安装 INFINI Console。

接下来,我们将聚焦于离线环境,详细讲解如何使用 Docker Compose 部署 INFINI Console 和 Easysearch。

简介 #

INFINI Console 是一款强大的集群管理与可观测性平台,而 INFINI Easysearch 则是一个轻量级、高性能的搜索与分析引擎。官方提供的离线部署包将两者整合,非常适合在无外网或需要快速搭建演示环境的场景下使用。

本文将详细介绍如何下载资源、正确加载镜像、以及最关键的——如何根据您的需求修改 docker-compose.yml 中的各项配置。


1. 准备工作 #

请确保您的环境中已安装以下软件:

  • Docker
  • Docker Compose

2. 下载离线资源 #

从官方地址下载两个核心文件:

  • infini-console.tar.gz: 包含 docker-compose.yml 和相关脚本。
  • infini-console-easysearch-1.14.2.tar: 包含 infinilabs/consoleinfinilabs/easysearch 的 Docker 镜像。
wget https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console.tar.gz
wget https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console-easysearch-1.14.2.tar

3. 正确加载 Docker 镜像 #

注意infini-console-easysearch-1.14.2.tar 是一个包含多个镜像的归档包,不能直接使用 docker load 加载。

正确的加载步骤如下:

  1. 创建目录并解压镜像归档包

    mkdir -p images
    tar -xvf infini-console-easysearch-1.14.2.tar -C images
    

    这会将 console.tareasysearch.tar 等文件解压到 images/ 目录中。

  2. 批量加载所有镜像

    cd images
    ls *.tar | xargs -I {} docker load -i {}
    

    该命令会自动为目录下的每个 .tar 文件执行 docker load 操作。

  3. 验证镜像加载结果

    docker images
    

    您应该能看到 infinilabs/console:1.29.8infinilabs/easysearch:1.14.2 等镜像。


4. 修改配置文件 #

解压 infini-console.tar.gz 后,找到 .env 文件。所有自定义配置都应在此文件中修改。

以下是各项配置的详细说明和修改建议:

核心路径配置 #

WORK_DIR_ABS=/data/infini-console
  • 作用: 定义所有持久化数据(日志、配置、索引)的根目录。
  • 修改建议: (必改) 强烈建议修改为您服务器上一个有足够空间的路径,例如 /opt/infini-console。确保该目录存在且 Docker 拥有写入权限。

网络配置 #

APP_NETWORK_NAME=infini-local-net
  • 作用: 定义 Docker 内部网络的名称。
  • 修改建议: 通常无需修改。

Console 配置 #

CONSOLE_IMAGE=infinilabs/console
CONSOLE_VERSION_TAG=1.29.8
CONSOLE_CONTAINER_NAME=infini-console
CONSOLE_PORT_HOST=9000
CONSOLE_PORT_CONTAINER=9000
  • 作用: 定义 Console 的镜像、版本、容器名及端口映射。
  • 修改建议:
    • CONSOLE_PORT_HOST: 如果宿主机的 9000 端口已被占用,请修改为其他可用端口(如 8080)。

Easysearch 配置 #

EASYSEARCH_IMAGE=infinilabs/easysearch
EASYSEARCH_VERSION_TAG=1.14.2
EASYSEARCH_NODES=1
EASYSEARCH_CLUSTER_NAME=infini-console
  • 作用: 定义 Easysearch 的镜像、版本、节点数和集群名。
  • 修改建议:
    • EASYSEARCH_NODES: 单机部署保持 1 即可。

访问与安全配置 #

EASYSEARCH_INITIAL_ADMIN_PASSWORD=ShouldChangeme123.
  • 作用: 设置 Easysearch admin 用户的初始密码。
  • 修改建议: (必改) 请务必将其替换为一个强密码。登录 Console 时需要使用此密码。
EASYSEARCH_HTTP_PORT_HOST=9200
EASYSEARCH_TRANSPORT_PORT_HOST=9300
  • 作用: 定义 Easysearch HTTP 和 Transport 接口在宿主机上的映射端口。
  • 修改建议: 如果 92009300 端口冲突,请修改。

JVM 参数配置 #

ES_JAVA_OPTS_DEFAULT="-Xms8g -Xmx8g"
  • 作用: 设置 Easysearch 的 JVM 堆内存大小。
  • 修改建议: (必改) 请根据服务器物理内存进行调整,避免超过物理内存的 50%。
    • 8GB 内存服务器: 建议设为 -Xms2g -Xmx2g
    • 16GB 内存服务器: 建议设为 -Xms4g -Xmx4g

数据持久化路径 #

CONSOLE_HOST_DATA_SUBPATH_REL=console/data
CONSOLE_HOST_LOGS_SUBPATH_REL=console/logs
EASYSEARCH_HOST_NODES_BASE_SUBPATH_REL=easysearch
  • 作用: 定义数据和日志在 WORK_DIR_ABS 下的相对子路径。
  • 修改建议: 通常无需修改。

5. 启动服务 #

完成配置修改后,在 docker-compose.yml 所在目录下执行:

docker-compose up -d

等待服务完全启动。


6. 访问控制台 #

打开浏览器,访问 http://<你的服务器IP>:9000

使用默认用户名 admin 和您在 EASYSEARCH_INITIAL_ADMIN_PASSWORD 中设置的密码进行初始化。


总结 #

通过以上步骤,您可以灵活地部署一套功能完整的 INFINI Console + Easysearch 环境。关键在于理解并根据实际情况修改 .env 文件中的参数,特别是 WORK_DIR_ABSEASYSEARCH_INITIAL_ADMIN_PASSWORDES_JAVA_OPTS_DEFAULT,这能确保部署的稳定性和安全性。

希望这篇详细的指南能帮助您顺利完成部署!

标签
Coco AI x
Easysearch x
Gateway x
Console x
Loadgen x
开源 x