MaxKB安装以及遇到的问题

TJCcc 发布于 2025-11-03 57 次阅读


一、首先我这里先给出官方的安装MaxKB文档:https://maxkb.cn/docs/v2/installation/offline_installtion/

最开始我是先在windows本地安装的,先下载docker,再利用docker安装MaxKB,结果报错说:发起请求失败,TLS握手失败,因此没法建立连接,于是我就去linux系统上安装了。

二、我是先在我的乌班图的虚拟机上尝试按照官方的教程进行部署

然后在执行bash install.sh命令时遇到了以下报错:请求超时。

[+] Running 2/2

✘ maxkb Error Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)15.1s

✘ pgsql Error context canceled15.1s Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

首先我想到的是检查网络连接,于是我ping www.baidu.com显示可以连接,说明我的虚拟机可以联网。

于是我就想着配置国内镜像源,能够加快请求的速度:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com"
]
}
EOF

但是结果还是和上面一样。

三、于是我第二步就是想着换我的云服务器

同样按照安装步骤执行操作,但是这次到换了另一个报错了:

✘ Network maxkb_maxkb-network Error0.0s failed to create network maxkb_maxkb-network: Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

意思就是Docker网络冲突了,这是MaxKB安装脚本在创建Docker网络时出现的常见问题。

然后我就想着换一个网段嘛,换成172.30.0.0/16,但是还是不行,很奇怪。

四、于是我就按照同样的方法在centOS7上尝试安装

可结果还是不尽人意

[root@web01 maxkb-v1.10.12-lts-offline]# bash install.sh

WARN[0000] /opt/maxkb/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

WARN[0000] /opt/maxkb/docker-compose-pgsql.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

[+] Running 3/3

✔ Container maxkb Removed 11.4s

✔ Container pgsql Removed 0.3s

✔ Network maxkb_maxkb-network Removed 0.3s

======================= 开始安装 =======================

-f docker-compose.yml -f docker-compose-pgsql.yml

[MaxKB Log]: 拷贝配置文件模板文件 -> /opt/maxkb/conf

[MaxKB Log]: 根据安装配置参数调整配置文件

time: 2025年 11月 02日 星期日 07:34:25 PST

/usr/sbin/getenforce

[MaxKB Log]: 检测到 Docker 已安装,跳过安装步骤

[MaxKB Log]: 启动 Docker

Redirecting to /bin/systemctl start docker.service

[MaxKB Log]: 检测到 Docker Compose 已安装,跳过安装步骤

[MaxKB Log]: 加载镜像

Loaded image: 1panel/maxkb:v1.10.12-lts

[MaxKB Log]: 防火墙端口开放

Warning: ALREADY_ENABLED: 8080:tcp

success

success

[MaxKB Log]: 启动服务

WARN[0000] /opt/maxkb/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

WARN[0000] /opt/maxkb/docker-compose-pgsql.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

[+] Running 3/3

✔ Network maxkb_maxkb-network Created0.4s

✔ Container pgsql Healthy11.4s

✔ Container maxkb Started11.7s

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

MaxKB 服务状态 : 正在启动

这里看似成功近在咫尺,但实际上已经失败了。我在这个界面等了有一个小时,不过在这一个小时的时间内

五、我又回到我的云服务器上重新安装

先回滚再重新部署

不过这次是换一个网段,因为之前配置文件里面的docker网络的一个网段被另一个docker容器给占用了。

可...结果同上。

然后我就很想找到出现这个问题的原因,为什么就差一点就完成安装了,可最终还是不行呢?

于是我就查看虚拟机和云服务器的系统负载

这个是虚拟机(1核1G)的:

这个是云服务器(2核2G)的:

可能你看这个照片看不出来什么,那重点来看一项指标:

没错,就是内存使用量。

看到右边的坐标轴,发现我的内存总量不是完全的2G,然后我就产生疑虑了:我的服务器不是2G的吗,为什么内存总量少于2G?

结果发现答案了:

2G指的是宗物理内存

内存“缺失”的原因是:

1、操作系统内核的占用

2、硬件需要保留一党内存作为缓冲区等其他用途

3、系统服务即使在“空闲”状态下也会占用内存。

因此实际可用是少于2G的。

观察左边的坐标轴,你不难看出:在当前时间点,内存实际使用量已经是达到内存总量,达到峰值了。

这也可以解释为什么在我安装MaxKB的过程中,服务器里面部署的一些网站没法提供服务了。

云服务器和虚拟机所表现出来的系统负载与其自身的配置是息息相关的,二者内存都不足。

六、因此总结一下:

1、环境准备

安装前必须了解软件的系统要求

不能盲目安装,需评估资源需求

2、网络配置

Docker 网络冲突时需修改网段

注意避免网段重叠

3、系统监控

关键时刻需要监控系统负载

关注内存、CPU 使用情况

4、备份策略

每次实验前都要创建快照

便于回滚和问题排查

5、笔记策略

写完笔记不要着急

要耐心等待保存好了再进行下一步操作

不然可能你辛辛苦苦写完的东西一下就没了。

七、最后,解决办法:

我的云服务器是没法改变内存了,只有改变我的虚拟机的内存大小了,这个不难。修改了内存后应该就可以完成MaxKB的安装了,接下来就是将数据导进去,然后用LLM调用知识库了,LLM的话可以通过Ollma下载模型到本地或者利用本地已存在的模型进行实验。