maxkb版本升级步骤与注意事项(超详细图文)

目的:在对maxkb进行版本升级的同时,保留原来的应用。
方法:在docker中保留持久化的内容,然后仅更新程序部分。

1 在线部署docker

先使用docker拉取maxkb的镜像(旧版本)

docker pull 1panel/maxkb

如果docker的网络不能访问镜像,可以考虑使用专用的加速器绕开网络限制或者尝试下面这两个命令:

docker pull cr2.fit2cloud.com/1panel/maxkb 
docker pull registry.fit2cloud.com/maxkb/maxkb

拉取完镜像之后,创建一个docker容器。

# Linux 操作系统
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb

# Windows 操作系统
docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb

参数说明:
-d :(detach 的缩写)后台运行容器,并返回容器 ID。执行后不会阻塞当前终端,容器在后台运行。

–name=maxkb:指定容器的名称为 maxkb,方便后续通过名称操作容器(如停止容器运行: docker stop maxkb),若不指定则 Docker 会自动生成一个随机名称。

–restart=always:设置容器的重启策略为 always,当容器退出或者主机重启时,Docker 会自动重启容器。

-p 8080:8080:设置端口映射,将主机的 8080 端口映射到容器内部,通过主机的 8080 端口即可访问容器内应用

-v ~/.maxkb:/var/lib/postgresql/data:数据卷挂载(数据持久化存储):将主机的 ~/.maxkb 目录(用户家目录下的 .maxkb 文件夹)挂载到容器内的 /var/lib/postgresql/data 目录。容器内 PostgreSQL 数据库的数据会存储到主机的 ~/.maxkb 中,即使容器被删除,数据也不会丢失。

-v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages:另一个数据卷挂载:将主机的 ~/.python-packages 目录挂载到容器内的 /opt/maxkb/app/sandbox/python-packages 目录。常用于共享 Python 依赖包,避免容器内重复安装,或持久化应用所需的 Python 包。

1panel/maxkb :指定运行容器所使用的镜像。1panel 是镜像仓库地址;maxkb 是镜像的名称。

2 查看当前版本

通过127.0.0.1:8080进入maxkb页面后点击右上角admin用户的下拉菜单,找到“关于”,点击后查看当前版本。
在这里插入图片描述
对于1.X的版本过于老旧,建议删除后直接下载最新镜像后本地部署。
当前maxkb最新版本为v2.2.1

3 停止容器运行

打开docker desktop,点击"Containers",找到所有正在运行的容器。
在这里插入图片描述

找到maxkb对应的容器之后,点击Actions下的按钮,将容器的运行状态从"Running"变为"Exited"。
或者使用以下命令停止容器:

docker stop [容器名|容器ID]

4 查看数据持久化目录

点击actions下的“更多”。
在这里插入图片描述
在弹出的菜单中选择“Show Details”。
在新页面中点击“Inspect”
找到“Mounts”项对应的Values,新建个记事本,复制粘贴保存起来。
在这里插入图片描述
命令行的话使用以下指令:

docker inspect maxkb

找到 mounts 项之后保存起来。

5 删除当前的maxkb容器,然后重启docker.

在这里插入图片描述
命令行的话使用以下命令:

docker rm -f 1panel/maxkb

6 用docker拉取最新的docker镜像

docker pull 1panel/maxkb

拉取完成之后,使用下列命令,可以看到一个新的镜像

docker images

在这里插入图片描述

7, 创建新容器

使用下列命令创建一个新的容器

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/docker/volumes/419222267d63565800872303b06fe8b211d1853c4cf234561fee8bab0efd6bb4/_data 1panel/maxkb
# 输出的是docker 容器的containerID
1ddc9ef6948c532324796c002c8da752d861d522a0485e9aeb0aa6a3c0cd2216

打开docker desktop,找到container,可以看到正在运行的docker容器。

8 重新登陆maxkb

默认用户名 admin
默认密码 MaxKB@123…

9 查看版本

版本已经更新到2.2.1,原来的应用、知识库、工具还保留。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐