MaxKB v2 二次开发后构建自定义镜像使用Docker运行

一、安装docker

1. 删除之前 Docker 官方源(如果已经添加)

sudo rm -f /etc/apt/sources.list.d/docker.list

2. 添加 Docker GPG 密钥(国内镜像也使用官方密钥)

sudo install -m 0755 -d /etc/apt/keyrings

下载:

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg \ -o /etc/apt/keyrings/docker.asc

权限:

sudo chmod a+r /etc/apt/keyrings/docker.asc

3. 添加阿里云 Docker 软件源

Ubuntu 22.04 对应代号:

jammy

执行:

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ jammy stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 更新 apt

sudo apt update

正常应该看到:

类似:

Hit: https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease

5. 安装 Docker

sudo apt install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin

6. 启动 Docker

sudo systemctl enable docker sudo systemctl start docker

查看:

systemctl status docker

应该:

Active: active (running)

二、构建镜像并运行

1. 进入项目目录

cd /root/MaxKB-2

2. 修改 Node 镜像源

修改installer/Dockerfile文件的第一行,将默认的 Node 镜像源替换为国内镜像源。

原内容:

FROM node:24-alpine AS web-build

修改为:

FROM docker.m.daocloud.io/library/node:24-alpine

3. 构建 Docker 镜像

docker build -f installer/Dockerfile -t maxkb:custom .

4. 运行容器

docker run -d \ --name maxkb \ --restart unless-stopped \ -p 8081:8080 \ -v maxkb-data:/opt/maxkb \ -e MAXKB_HTTP_LISTEN_PORT=8080 \ maxkb:custom

5. 测试服务

curl -I http://127.0.0.1:8081/admin/

如果返回200 OK状态码,说明服务已启动且外网可以访问。请注意检查并关闭防火墙相关设置。

6. 查看容器日志

docker logs -f maxkb