Skip to main content
如果您希望 Arupa 内核及其运行时依赖项在容器内运行,请使用 Docker。该镜像发布于 ghcr.io/steeldregg/arupa 容器会将配置、服务包和临时服务文件存储在 /data 目录中。本指南使用 Docker 命名卷,以便在替换容器后这些文件仍然可用。

开始之前

请先安装 Docker Engine 或 Docker Desktop,然后确保 Docker CLI 可以连接到 Docker 守护进程:
发布的镜像支持 Linux amd64arm64 主机。Docker 会自动为您的主机选择正确的镜像变体。

1. 拉取镜像

下载最新的稳定镜像:
为了确保部署可重复,请使用发布版本标签而不是 latest。例如,要使用 v0.2.0 版本:

2. 创建持久存储

为内核数据创建一个 Docker 命名卷:
容器被移除后,Docker 会保留此卷。它将保存:
  • config.toml,内核配置文件;
  • services,存放 .plg 服务包的目录;以及
  • tmp,内核加载服务包时使用的目录。
要打印该卷的存储位置,请运行:
在 Linux Docker 主机上,结果是一个主机目录,例如 /var/lib/docker/volumes/arupa-data/_data。您可以使用相应的主机权限检查或编辑该目录。在 Docker Desktop 上,挂载点位于 Docker 的 Linux 虚拟机内部,因此通常无法直接从 macOS 或 Windows 打开它。在这些系统上,请使用本指南后面的 docker cp 命令。

3. 创建初始配置

为配置文件创建一个工作目录,然后在其中创建 config.toml
添加以下配置:
Listen 是容器内部的 HTTP 地址。ServiceDirServiceTempDir 是相对于容器工作目录 /data 的路径。

4. 创建并启动容器

创建容器。--publish 选项使容器的 8080 端口在主机的 8080 端口上可用,命名卷挂载在 /data
通过新创建的容器把配置文件复制到卷中,然后启动它:
查看内核日志:
启动成功后,内核会报告正在监听 :8080 端口。按 Control-C 停止查看日志;这不会停止容器。

5. 验证内核

从另一个终端请求内核版本端点:
响应包含正在运行的内核版本。

编辑配置并添加服务包

命名卷同时保存配置和服务包。以下命令适用于 Linux、macOS 以及使用 Docker Desktop 的 Windows。 要编辑配置,请将其从容器中复制出来,编辑本地副本,再复制回去,然后重启内核:
要添加已下载的服务包,请将其 .plg 文件复制到 /data/services。例如:
在 Linux Docker 主机上,您也可以将包直接复制到 docker volume inspect arupa-data 报告的 Mountpoint 下的 services 目录中。更改服务文件后,请重启容器,以便内核再次扫描该目录。

管理容器

使用以下命令停止、启动或删除内核容器:
删除容器不会删除 arupa-data 卷。当您使用相同的 --volume arupa-data:/data 选项创建替换容器时,它会重用已有的配置和服务数据。

后续步骤

内核已经可以安装服务包了。请继续阅读核心插件文档,然后按照安装服务的步骤操作。 在将主机端口暴露到本地计算机之外之前,请配置用户访问规则