一、迁移前准备工作
- 确保新旧服务器都已安装宝塔面板和 Docker :在新旧服务器上分别登录宝塔面板,检查 Docker 是否正常运行。可通过宝塔面板的 Docker 管理模块查看服务状态。
- 记录原始 MaxKB 配置信息 :包括容器名称、端口号(默认为 8080)、数据卷挂载路径(默认为
/root/.maxkb
和/root/.python-packages
)等,便于在新服务器上恢复原有配置。
二、在旧服务器上备份数据
- 进入旧服务器的宝塔面板,停止 MaxKB 容器 :在宝塔面板的 Docker 容器列表中找到 MaxKB 容器,点击 “停止” 按钮。
- 使用命令打包数据目录 :
- 打开旧服务器的终端,执行以下命令将
/root/.maxkb
和/root/.python-packages
目录打包压缩:tar -czvf maxkb_backup.tar.gz /root/.maxkb /root/.python-packages
- 打开旧服务器的终端,执行以下命令将
将打包好的 maxkb_backup.tar.gz
文件从旧服务器下载到本地,可通过宝塔面板的文件管理功能或使用 scp
命令进行传输。
三、在新服务器上准备环境
- 上传备份文件到新服务器 :将本地的
maxkb_backup.tar.gz
文件上传到新服务器的/root
目录下,可使用宝塔面板的文件上传功能或scp
命令,例如:scp /path/on/local/maxkb_backup.tar.gz root@新服务器IP:/root
- 解压备份文件 :在新服务器的终端中,执行以下命令解压备份文件:
tar -xzvf maxkb_backup.tar.gz -C /root
这会将备份的数据解压到 /root/.maxkb
和 /root/.python-packages
目录下。
四、在新服务器上拉取 MaxKB 镜像并运行
- 拉取 MaxKB 官方镜像 :在新服务器的终端中,执行以下命令拉取最新的 MaxKB 镜像:
docker pull registry.fit2cloud.com/maxkb/maxkb
- 运行 MaxKB 容器 :根据需要设置端口号(可修改为原本的端口或其他端口),执行以下命令启动 MaxKB 容器:
docker run -d --name=maxkb --restart=always -p <新端口号>:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
例如,若要使用原本的 8080 端口,命令为:
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 registry.fit2cloud.com/maxkb/maxkb
五、验证迁移是否成功
- 在宝塔面板查看 MaxKB 容器状态 :登录新服务器的宝塔面板,进入 Docker 容器列表,检查 MaxKB 容器是否处于 “运行中” 状态。
- 通过浏览器访问 MaxKB 服务 :在浏览器中输入新服务器的 IP 地址和设置的端口号,例如
http://新服务器IP:8080
,测试是否能正常访问 MaxKB 系统,登录后检查数据是否完整迁移。
六、注意事项
- 在迁移过程中,确保新旧服务器的网络连接正常,避免数据传输中断。
- 若需要修改 MaxKB 的配置文件(如端口号等),可在解压备份文件后,进入
/root/.maxkb
目录下查找相关配置文件进行修改,但需谨慎操作,修改完成后再启动容器。 - 迁移完成后,建议在旧服务器上清理已停止的 MaxKB 容器及相关镜像,以释放资源。可使用以下命令:
docker stop maxkb
docker rm maxkb
docker rmi registry.fit2cloud.com/maxkb/maxkb
以上就是基于宝塔面板 Docker 环境的 MaxKB 迁移教程,按照步骤操作即可完成数据的迁移和新环境的搭建。
- All rights reserved.
- No part of this website, including text and images, may be reproduced, modified, distributed, or transmitted in any form or by any means, without the prior written permission of the author.
- Unauthorized commercial use is strictly prohibited.
- Unauthorized personal use is strictly prohibited.