maxkb部署,版本升级步骤与注意事项(超详细图文)
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,原来的应用、知识库、工具还保留。
