使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理

news/2025/11/3 20:32:48/文章来源:https://www.cnblogs.com/infinilabs/p/19188263

系列回顾与引言

在我们的 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,这能确保部署的稳定性和安全性。

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

作者:罗厚付,极限科技(INFINI Labs)云上产品设计与研发负责人,拥有多年安全风控及大数据系统架构经验,主导过多个核心产品的设计与落地,日常负责运维超大规模 ES 集群(800+节点/1PB+数据)。
原文:https://infinilabs.cn/blog/2025/console-easysearch-with-docker-compose-offline/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/954869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第6章 语句

6.5 if语句悬垂else (dangling-else) 问题:当一个if子句多于else子句时,对于每一个else,究竟属于哪个if。 C++中会将else匹配给最后出现的尚未匹配的if子句。

十一月杂题

十一月杂题1. CF1067D Computer Game 考虑有了一次升级机会之后一定只会对着期望收益最高的做。于是只需要决策升级之前的决策。设 \(f_t\) 为还剩 \(t\) 秒的最大收益,\(x\) 为期望收益最大的任务的期望收益,则有 \…

Modbus RTU 通信格式详解学习笔记

看似与人为善、心肠柔软之人,必然有一块坚硬如铁的心境土壤,在苦难人生中,死死支撑着那份看似愚蠢的善意1️⃣ 核心思想:Modbus RTU 报文 = 一封结构化的“电报” 想象一下,你要给朋友发一封电报:你得先告诉邮局…

Selenium3+Python3 自动化项目项目实战day1

HTML CSS JavaScript HTMl总体脉络 CSS皮肤组织 JavaScript二者神经组织 HTML 超文本标记语言 HTMl元素 HTML表单 CSS JaveScript

P1.python环境的配置和安装

P1.python环境的配置和安装1.1CUDA安装: 1.查看CUDA Version 在终端输入nvidia-smi2.下载安装配置CUDA1.2python3.8安装 C:\Users\ASUS\AppData\Local\Programs\Python\Python381.3Anaconda安装 1.软件下载安装测试一…

Python 中可变对象的“引用赋值”特性——可变对象的“引用传递”

一、踩坑代码 某程序老鸟讲了一个故事: “2019年夏天,我在做一个推荐系统的用户画像模块。当时写了这样的代码: # 当时的蠢代码,现在想起来都脸红 default_preferences = [] # 想着所有用户共享一个默认偏好 user…

CSP-S 2025 游寄喵

使用了新的文风喵……希望能缓解气氛喵……poi 酱写下这篇游记的时候大概心态很炸喵……不过还是尽量收住了我的垃圾情绪喵,如果不慎伤到您的话欢迎指出喵……poi 酱谢罪喵……(跪着) 如果您有帮到 poi 酱没有 ack …

Modbus协议分类及测试学习笔记

只是两个人相处,那么喜欢一个人,可能会觉得她所有都好,但是以后在一起了,就要学会喜欢她的不好。记住,Modbus不是一种协议,而是一套“通信规则”,它可以在不同的“交通工具”上运行 1️⃣ 核心思想:Modbus是“…

MarkDown初入

MarkDown学习 标题 几个“#”后+一个空格,就是几级标题,最多6级 文字修饰 Hello,Word! 前后+”**“是+粗 一个”*“斜体 三个就是全都要 双波浪就是划掉 Hello,Word! Hello,Word! Hello,Word! 引用学习狂神教…

英语_作文_8AU3_Curiosity

Curiosity is one of the most important qualities the human have.It let us have ability to explore the unknown. We always asked "why", even we found our question‘s answers surpringly and amaz…

习题-极大原理

习题1. 若\(a\)和\(b\)是两个实数,当\(b-a\)为正有理数时定义\(a\prec b\),证明这是\(\mathbb{R}\)上的一个严格偏序。它的极大全序子集是什么?2. (a) 设\(\prec\)是集合\(A\)中的一个严格偏序,\(A\)中的一个关系\…

极大原理

我们已经说过,由选择公理可以得到任意集合都能良序化这一深刻的定理。在数学中,选择公理还有更加重要的推论。这里所提及的“极大原理”有多种版本。在1914年至1935年间,多位数学家曾对极大原理独立地予以论述,他们…

P7. TensorBoard的使用(一)

P7. TensorBoard的使用(一)7.1SummaryWriter类使用 1.官方文档对SummaryWriter的介绍 按住Ctrl,点中SummaryWriter点击查看代码 Writes entries directly to event files in the log_dir to be consumed by TensorB…

二分搜索优化DP(子序列问题)

P1020 [NOIP 1999 提高组] 导弹拦截 题解 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一…

如何从手机内部恢复数据?2025年9大最佳手机数据恢复软件

如何从手机内部存储中恢复数据?手机存储着许多重要数据,例如照片、视频、短信和其他文件。如果您的手机损坏且无法访问,该怎么办?手机中存储的所有重要文件都丢失了,或者您不小心删除了重要文件。接下来,我们将向…

如何将数据从 Mac 硬盘恢复数据到电脑:所有方法

需要将数据从 Mac 硬盘传输或恢复到电脑吗?这两项任务都有不同的方法——选择最适合您情况的方法取决于您可用的工具。在本文中,我们将逐步指导您如何将 Mac 数据传输或恢复到电脑。 每种方法都附有简短的摘要,以便…

接口编号

箱式交换机。G 0/0/1 G 表示千兆 X(T, 10) 表示万兆 H(100) 表示十万兆接口编号的第一位数字 槽位号 第二位数字 子卡号,坐标部分的是0,右边部分的是1 第三位 接口号

Windows 10操作技巧:如何在 Windows 10 中恢复永久删除的文件

即使您从PC或笔记本电脑中永久删除了文件或文档,也可以轻松恢复它们。因此,在本文中,我们将介绍一些轻松恢复丢失数据的最佳且最可靠的方法。 添加图片注释,不超过 140 字(可选) 人生难免会犯错。这是我们作为个…

Mac数据恢复:Mac 十大数据恢复软件详细评测

当您的手机或相机已满时,Mac 将成为数据保管者,存储您的照片、视频、音乐和其他重要数据。 然而,一旦珍贵的数据因意外删除或未知原因而丢失,那将是一场巨大的灾难。 Mac 十大数据恢复软件详细评测 幸运的是,这篇…

iPad照片、联系人、笔记恢复工具: iPad 数据恢复软件

您是否正在寻找最佳的 iPad 数据恢复软件,但又不确定选择哪一款?又或者,您已经尝试过一些软件,需要更好的选择?我们对一些顶级恢复工具进行了测试,并找到了真正有效的工具。无论是丢失的照片、联系人还是笔记,这…