Kill Bill 0.24.22 Docker Compose 部署指南
Kill Bill 0.24.22 三件套(核心 + KAUI + MariaDB)Compose 一键部署:JVM 堆 256-512MB 调优实测(TOMCAT_JAVA_XMS/XMX 注入与 jps -v 验证)、管理口令注入、租户初始化、数据持久化与销毁重建恢复闭环,附环境变量表与运维命令。
Kill Bill 0.24.22 Docker Compose 部署指南
目标:在一台 Ubuntu 服务器上用 Docker Compose 一键编排 Kill Bill 订阅计费平台的最小可用生产形态(Kill Bill 核心 + MariaDB 数据库 + KAUI 管理界面三件套),完成 JVM 堆内存调优、管理口令注入、数据持久化与销毁重建恢复闭环,全部步骤与回显已在 Ubuntu 22.04 + Kill Bill 0.24.22 + KAUI 4.0.31 环境实测通过。
一、环境信息
本文所有命令与输出均在以下环境实测(2026-10-23):
- 操作系统:Ubuntu 22.04.4 LTS(内核 6.8.0-138-generic)
- Docker:Docker version 29.8.1, build 4a63305(
docker --version实测) - Docker Compose:Docker Compose version v5.5.1(
docker compose version实测) - Kill Bill 核心:killbill/killbill 0.24.22(官方镜像,2026-09-29 构建)
- KAUI 管理界面:killbill/kaui 4.0.31(官方镜像,2026-09-29 构建)
- 数据库:killbill/mariadb 0.24(官方维护的 MariaDB 镜像,内置 Kill Bill 与 KAUI 两库的建库初始化)
- 规划端口:Kill Bill API 8146(映射服务内 8080)、KAUI Web 8147(映射服务内 8080)
- 部署目录:
/opt/killbill/(Compose 文件与数据目录所在位置) - 数据落盘:
/opt/killbill/data/(MariaDB 数据目录 bind mount)
二、镜像选型说明
Kill Bill 官方在 Docker Hub 维护三个镜像,Compose 编排各取其一:
| 服务 | 镜像与标签 | 用途 | 说明 |
|---|---|---|---|
| killbill | killbill/killbill:0.24.22 | 计费核心(Java/Tomcat) | REST API 监听 8080,路径前缀 /kb/;内含 OSGi 插件运行时 |
| kaui | killbill/kaui:4.0.31 | 管理界面(Ruby on Rails) | Web 界面监听 8080,通过 HTTP 调用 Kill Bill API |
| db | killbill/mariadb:0.24 | 共享数据库 | 官方定制 MariaDB,首次启动自动创建 killbill 与 kaui 两个库 |
选型要点与解读:三者均出自官方组织 killbill,标签版本需自行配对——核心与 KAUI 的版本号互相独立(核心 0.24.x、KAUI 4.0.x),但官方同日成对发布(本文双版本均为 2026-09-29 构建);数据库镜像官方文档固定使用 killbill/mariadb:0.24,不要用裸 mariadb 官方镜像替代,否则需要手工执行建库与 Flyway 迁移脚本。核心镜像同时提供 latest 标签,但生产部署建议锁定具体版本号,升级时机由自己掌控。
三、前置条件
部署前确认以下事项(每条附验证命令):
-
Docker 与 Compose 已安装(Docker 19.03+、Compose 1.25.4+ 为官方文档给出的最低线,本文实测为 29.8.1 / v5.5.1):
docker --version && docker compose version实测回显:
Docker version 29.8.1, build 4a63305 Docker Compose version v5.5.1 -
内存不低于 4GiB:Kill Bill 核心为 Java 进程,官方文档明确建议宿主机至少 4GiB 内存(不足时核心启动缓慢或崩溃)。本文将堆压到 256–512MB 后整套实测约占用 1.5GiB,2GiB 内存的小规格服务器亦可运行。
-
端口未被占用:
ss -ltn | grep -E ':(8146|8147)\b' || echo '8146/8147 空闲'实测回显:
8146/8147 空闲 -
部署目录已创建:
mkdir -p /opt/killbill/data
四、部署步骤
4.1 编写 docker-compose.yml
在 /opt/killbill/ 下创建 docker-compose.yml(完整内容如下,直接可用):
name: killbill-0.24.22-stack
services:
killbill:
image: killbill/killbill:0.24.22
container_name: killbill-0.24.22-api
ports:
- "8146:8080"
environment:
- KILLBILL_DAO_URL=jdbc:mysql://db:3306/killbill
- KILLBILL_DAO_USER=root
- KILLBILL_DAO_PASSWORD=killbill
- KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
- KB_ADMIN_PASSWORD=q1w2e3r4
- TOMCAT_JAVA_XMS=256m
- TOMCAT_JAVA_XMX=512m
depends_on:
- db
networks:
- killbill-net
kaui:
image: killbill/kaui:4.0.31
container_name: killbill-0.24.22-kaui
ports:
- "8147:8080"
environment:
- KAUI_CONFIG_DAO_URL=jdbc:mysql://db:3306/kaui
- KAUI_CONFIG_DAO_USER=root
- KAUI_CONFIG_DAO_PASSWORD=killbill
- KAUI_KILLBILL_URL=http://killbill:8080
depends_on:
- db
networks:
- killbill-net
db:
image: killbill/mariadb:0.24
container_name: killbill-0.24.22-db
volumes:
- type: bind
source: /opt/killbill/data
target: /var/lib/mysql
expose:
- "3306"
environment:
- MYSQL_ROOT_PASSWORD=killbill
networks:
- killbill-net
networks:
killbill-net:
driver: bridge
4.2 启动整套服务
cd /opt/killbill && docker compose up -d
实测回显(首次启动需拉取镜像时,up 前段会多出 Pull 阶段;以下为镜像就绪后的启动段):
Network killbill-02422-stack_killbill-net Creating
Network killbill-02422-stack_killbill-net Created
Container killbill-0.24.22-db Creating
Container killbill-0.24.22-db Created
Container killbill-0.24.22-api Creating
Container killbill-0.24.22-kaui Creating
Container killbill-0.24.22-kaui Created
Container killbill-0.24.22-db Starting
Container killbill-0.24.22-db Started
Container killbill-0.24.22-kaui Starting
Container killbill-0.24.22-api Starting
Container killbill-0.24.22-kaui Started
Container killbill-0.24.22-api Started
4.3 确认服务状态
docker compose ps
实测回显:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
killbill-0.24.22-api killbill/killbill:0.24.22 "/var/lib/killbill/k…" killbill 42 seconds ago Up 41 seconds 0.0.0.0:8146->8080/tcp, [::]:8146->8080/tcp
killbill-0.24.22-db killbill/mariadb:0.24 "docker-entrypoint.s…" db 43 seconds ago Up 41 seconds 3306/tcp
killbill-0.24.22-kaui killbill/kaui:4.0.31 "/var/lib/kaui/kaui.…" kaui 42 seconds ago Up 41 seconds 0.0.0.0:8147->8080/tcp, [::]:8147->8080/tcp
三个服务全部 Up 即编排成功。注意 KAUI 与 Kill Bill 对外端口:Kill Bill API 映射在宿主机 8146,KAUI Web 映射在 8147。
4.4 等待核心就绪(首次启动约 90 秒)
Kill Bill 核心首次启动要执行数据库迁移、OSGi 插件装载与 Tomcat 启动,实测从容器启动到就绪约 80–90 秒。观察日志直到出现 Kill Bill server has started:
docker logs killbill-0.24.22-api 2>&1 | grep 'server has started'
实测回显:
{"@timestamp":"2026-10-23T17:11:03.032Z","message":"Kill Bill server has started","logger_name":"org.killbill.billing.server.filters.KillbillGuiceFilter","thread_name":"main","level":"INFO"}
⚠️ 注意:看到该行之前 API 调用会得到 404 或连接拒绝,属正常现象,不要误判为部署失败。日志中若出现
Communications link failure(连库失败)通常是因为depends_on只保证启动顺序、不等待数据库就绪——Kill Bill 会自动重试,几秒后自愈;若反复失败请检查第七节环境变量是否写错。
4.5 验证 API 与管理界面
-
验证 API 网关(Swagger 描述文件可达):
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8146/swagger实测回显:
200 -
验证认证与计费 API(默认凭据首次登录):Kill Bill API 认证由两部分组成——HTTP Basic 管理员凭据 + 租户级 API 密钥头。本文已通过
KB_ADMIN_PASSWORD把管理员口令注入为q1w2e3r4;租户密钥默认不存在(首次部署数据库tenants表为空),先创建一个:curl -s -X POST 'http://127.0.0.1:8146/1.0/kb/tenants' \ -u admin:q1w2e3r4 \ -H 'Content-Type: application/json' \ -H 'X-Killbill-ApiKey: bob' \ -H 'X-Killbill-ApiSecret: lazar' \ -H 'X-Killbill-CreatedBy: admin' \ --data '{}'实测回显(HTTP 201,返回体为空):
http=201创建成功后,用同一组租户密钥访问目录接口验证:
curl -s -u admin:q1w2e3r4 -H 'X-Killbill-ApiKey: bob' -H 'X-Killbill-ApiSecret: lazar' 'http://127.0.0.1:8146/1.0/kb/catalog'实测回显:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <catalogs> <versions/> </catalogs>返回空目录列表即认证链路全部打通(目录尚未上传,
versions为空属正常)。 -
验证 KAUI 管理界面:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8147/实测回显:
302302 重定向到登录页属预期。浏览器访问
http://<服务器IP>:8147/,用管理员凭据admin / q1w2e3r4登录(与 API 的 Basic 凭据同源,由第 4.2 节的KB_ADMIN_PASSWORD注入)。
💡 说明:
bob / lazar是 Kill Bill 官方文档与示例惯用的租户密钥组合(X-Killbill-ApiKey/X-Killbill-ApiSecret),生产环境必须替换为自有强密钥;管理员口令同理,KB_ADMIN_PASSWORD支持任意自定值,本文统一用演示口令q1w2e3r4。
五、数据持久化说明
数据库数据通过 bind mount 落在宿主机 /opt/killbill/data/,与三个服务的生命周期解耦:
- MariaDB 数据目录
/var/lib/mysql→ 宿主机/opt/killbill/data/(killbill、kaui两个库全部在此); - Kill Bill 与 KAUI 本身无状态,账务数据全部入库,重建服务不丢数据。
验证方式:先创建一个账户,再整体销毁重建,确认账户仍在(实测实录)。
-
创建账户:
curl -s -X POST 'http://127.0.0.1:8146/1.0/kb/accounts' \ -u admin:q1w2e3r4 \ -H 'Content-Type: application/json' \ -H 'X-Killbill-ApiKey: bob' \ -H 'X-Killbill-ApiSecret: lazar' \ -H 'X-Killbill-CreatedBy: admin' \ --data '{"name":"测试客户A","email":"custa@example.com","currency":"USD"}' \ -w '\nhttp=%{http_code}\n'实测回显(HTTP 201,
Location头返回新账户地址):http=201 Location: http://127.0.0.1:8146/1.0/kb/accounts/8fd8790e-44eb-41e1-8202-bcef9c3c8c20 -
销毁整套服务(含内部网络,数据目录保留):
cd /opt/killbill && docker compose down实测回显(输出节选,三个服务与网络依次停止移除):
Container killbill-0.24.22-kaui Stopped Container killbill-0.24.22-kaui Removing Container killbill-0.24.22-kaui Removed Container killbill-0.24.22-api Stopped Container killbill-0.24.22-api Removing Container killbill-0.24.22-api Removed Container killbill-0.24.22-db Stopped Container killbill-0.24.22-db Removing Container killbill-0.24.22-db Removed Network killbill-02422-stack_killbill-net Removing Network killbill-02422-stack_killbill-net Removed此时确认数据目录仍在:
ls /opt/killbill/data/实测回显(输出节选):
aria_log.00000001 ib_buffer_pool ibdata1 ib_logfile0 kaui killbill mysql -
重建整套服务:
cd /opt/killbill && docker compose up -d实测回显:
Network killbill-02422-stack_killbill-net Created Container killbill-0.24.22-db Created Container killbill-0.24.22-api Created Container killbill-0.24.22-kaui Created Container killbill-0.24.22-db Started Container killbill-0.24.22-kaui Started Container killbill-0.24.22-api Started已有数据的重建跳过了建库迁移,API 约 10 秒即可就绪(实测轮询
catalog接口 10 秒后返回 200)。 -
验证账户恢复:
curl -s -u admin:q1w2e3r4 -H 'X-Killbill-ApiKey: bob' -H 'X-Killbill-ApiSecret: lazar' \ 'http://127.0.0.1:8146/1.0/kb/accounts/8fd8790e-44eb-41e1-8202-bcef9c3c8c20'实测回显(输出节选,销毁重建前的账户完整恢复):
{ "accountId": "8fd8790e-44eb-41e1-8202-bcef9c3c8c20", "name": "测试客户A", "externalKey": "8fd8790e-44eb-41e1-8202-bcef9c3c8c20", "email": "custa@example.com", "currency": "USD", "referenceTime": "2026-10-23T17:22:13.000Z" }
💡 说明:数据库备份直接打包
/opt/killbill/data/目录即可(务必先停止 db 服务或使用数据库自带的mariadb-dump,避免热备不一致)。
六、环境变量表
以下为三服务全部可用环境变量(名称均实测自 0.24.22/4.0.31 镜像内置启动脚本,标注实测默认值):
6.1 killbill 服务
| 变量 | 实测默认值 | 说明 |
|---|---|---|
KILLBILL_DAO_URL | 无(必填) | JDBC 连接串,指向 db 服务的 killbill 库 |
KILLBILL_DAO_USER | root | 数据库用户名 |
KILLBILL_DAO_PASSWORD | 无(必填) | 数据库密码,需与 db 服务的 MYSQL_ROOT_PASSWORD 一致 |
KILLBILL_CATALOG_URI | 无 | 启动时预置的目录文件名(镜像内置示例 SpyCarAdvanced.xml) |
KB_ADMIN_PASSWORD | password | 管理员 Basic 认证口令,经 shiro 模板渲染注入,生产必须修改 |
TOMCAT_JAVA_XMS | 512m | JVM 初始堆,见第七节调优说明 |
TOMCAT_JAVA_XMX | 2G | JVM 最大堆,见第七节调优说明 |
KILLBILL_VERSION | 0.24.22 | 镜像内置版本号(只读参考) |
6.2 kaui 服务
| 变量 | 实测默认值 | 说明 |
|---|---|---|
KAUI_CONFIG_DAO_URL | 无(必填) | JDBC 连接串,指向 db 服务的 kaui 库 |
KAUI_CONFIG_DAO_USER | root | 数据库用户名 |
KAUI_CONFIG_DAO_PASSWORD | 无(必填) | 数据库密码 |
KAUI_KILLBILL_URL | 无(必填) | Kill Bill API 地址(服务内网 http://killbill:8080) |
6.3 db 服务
| 变量 | 实测默认值 | 说明 |
|---|---|---|
MYSQL_ROOT_PASSWORD | 无(必填) | root 口令,须与两个应用的 *_DAO_PASSWORD 一致 |
解读:三组变量构成一条「密码链」——MYSQL_ROOT_PASSWORD 必须同时等于 KILLBILL_DAO_PASSWORD 与 KAUI_CONFIG_DAO_PASSWORD,任何一处不一致都会导致对应服务连库失败;KAUI_KILLBILL_URL 必须用服务内网地址(服务名 killbill),不要写宿主机映射端口,否则 KAUI 会绕外网一圈且可能被防火墙拦截。
七、配置参数说明
7.1 JVM 堆内存调优(实测重点)
Kill Bill 核心是 Java 进程,官方镜像默认堆为 -Xms512m -Xmx2G。小内存服务器(2–4GiB)建议压到 256–512MB 起步,按监控再调。
正确做法:在 killbill 服务的 environment 中设置 TOMCAT_JAVA_XMS 与 TOMCAT_JAVA_XMX(本文 compose 已含 TOMCAT_JAVA_XMS=256m、TOMCAT_JAVA_XMX=512m)。这两个变量由镜像内置的 Tomcat 启动脚本读取(脚本位于服务内 /var/lib/tomcat/bin/setenv.sh,将 CATALINA_OPTS 拼装为:
-Xms${TOMCAT_JAVA_XMS:-512m}
-Xmx${TOMCAT_JAVA_XMX:-2G}
即默认 512m / 2G)。
⚠️ 排障实录:如果改用通用的
JAVA_OPTS环境变量注入堆参数(如JAVA_OPTS=-Xms256m -Xmx512m),该值会先于镜像内置参数拼入命令行,随后被setenv.sh里的-Xms512m -Xmx2G覆盖(JVM 后出现的同名参数生效),实测验证如下——用jps -v查看进程参数,能同时看到两段堆参数且后者生效:$ docker exec killbill-0.24.22-api jps -v 1 Bootstrap --add-opens=java.base/java.lang=ALL-UNNAMED ... -Xms256m -Xmx512m ... -Xms512m -Xmx2G -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345 ...结论:调堆必须用
TOMCAT_JAVA_XMS/TOMCAT_JAVA_XMX,不要用JAVA_OPTS。
改后验证(设置 TOMCAT_JAVA_XMS=256m、TOMCAT_JAVA_XMX=512m 并重建服务后):
docker exec killbill-0.24.22-api jps -v | grep Bootstrap | tr ' ' '\n' | grep -E '^-Xm'
实测回显:
-Xms256m
-Xmx512m
仅剩一组堆参数,调优生效。若服务内无 jps,可用 ps -ef | grep [j]ava 同样能看到完整命令行参数。
7.2 管理口令注入
KB_ADMIN_PASSWORD 在服务启动时经模板渲染写入 /var/lib/killbill/config/shiro.ini(模板原文为 admin = $KB_ADMIN_PASSWORD, root,环境变量替换后即成实际口令)。改口令只需改 Compose 环境变量并 docker compose up -d --force-recreate killbill 重建服务。
改后验证:旧口令应 401、新口令应 200(实测实录,口令从默认 password 改为 q1w2e3r4 后):
curl -s -o /dev/null -w '%{http_code}\n' -u admin:password -H 'X-Killbill-ApiKey: bob' -H 'X-Killbill-ApiSecret: lazar' http://127.0.0.1:8146/1.0/kb/catalog
curl -s -o /dev/null -w '%{http_code}\n' -u admin:q1w2e3r4 -H 'X-Killbill-ApiKey: bob' -H 'X-Killbill-ApiSecret: lazar' http://127.0.0.1:8146/1.0/kb/catalog
实测回显:
401
200
7.3 目录预置
KILLBILL_CATALOG_URI=SpyCarAdvanced.xml 指定启动时预置的定价目录文件(镜像内置的官方示例目录,含 4 个测试计划)。自建目录可把 XML 挂载进服务并改此变量,或部署后经 API 上传(推荐后者,无需重启)。首次部署后目录列表为空属正常——SpyCarAdvanced.xml 需在创建租户后首次出账时才出现在版本列表中。
八、配置文件挂载
需要覆盖服务内配置文件时,用 bind mount 方式挂载(在对应服务下加 volumes:):
| 服务 | 容器内路径 | 用途 |
|---|---|---|
| killbill | /var/lib/killbill/config/killbill.properties | 核心配置(数据源、插件目录、安全等,详见本专栏配置篇) |
| killbill | /var/lib/killbill/config/shiro.ini | 认证配置(口令经 KB_ADMIN_PASSWORD 注入生成,一般无需挂载) |
| killbill | /var/lib/killbill/bundles/ | OSGi 插件目录(持久化插件包,避免重建后重装) |
| kaui | /var/lib/kaui/config/kaui.properties | KAUI 配置 |
示例(killbill 服务追加挂载插件目录,保证插件随数据落盘):
volumes:
- type: bind
source: /opt/killbill/bundles
target: /var/lib/killbill/bundles
挂载宿主机目录属主注意与容器内进程一致:killbill 服务内进程用户为 tomcat(uid/gid 随镜像固定),挂载后若遇权限拒绝,用 chown -R 1000:1000 /opt/killbill/bundles 类似方式修正(以实际镜像内 uid 为准,docker exec killbill-0.24.22-api id tomcat 可查)。
九、等价 docker run 命令
不用 Compose 时,等价的手工启动命令如下(先建网络,再按 db → killbill → kaui 顺序,供理解 Compose 背后做了什么;生产仍推荐 Compose 管理):
# 1. 创建内部网络
docker network create killbill-net
# 2. 启动数据库(数据落盘宿主机 /opt/killbill/data)
docker run -d --name killbill-0.24.22-db \
--network killbill-net \
-v /opt/killbill/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=killbill \
killbill/mariadb:0.24
# 3. 启动 Kill Bill 核心(堆 256m/512m,管理口令 q1w2e3r4)
docker run -d --name killbill-0.24.22-api \
--network killbill-net \
-p 8146:8080 \
-e KILLBILL_DAO_URL=jdbc:mysql://db:3306/killbill \
-e KILLBILL_DAO_USER=root \
-e KILLBILL_DAO_PASSWORD=killbill \
-e KILLBILL_CATALOG_URI=SpyCarAdvanced.xml \
-e KB_ADMIN_PASSWORD=q1w2e3r4 \
-e TOMCAT_JAVA_XMS=256m \
-e TOMCAT_JAVA_XMX=512m \
killbill/killbill:0.24.22
# 4. 启动 KAUI 管理界面
docker run -d --name killbill-0.24.22-kaui \
--network killbill-net \
-p 8147:8080 \
-e KAUI_CONFIG_DAO_URL=jdbc:mysql://db:3306/kaui \
-e KAUI_CONFIG_DAO_USER=root \
-e KAUI_CONFIG_DAO_PASSWORD=killbill \
-e KAUI_KILLBILL_URL=http://killbill:8080 \
killbill/kaui:4.0.31
十、常用运维命令
以下命令均在本文环境实测通过:
# 查看三服务状态
cd /opt/killbill && docker compose ps
# 跟踪 Kill Bill 核心日志(实时)
docker logs -f killbill-0.24.22-api
# 跟踪 KAUI 日志
docker logs -f killbill-0.24.22-kaui
# 重启单个服务(改环境变量后用 --force-recreate 才会生效)
docker compose up -d --force-recreate killbill
# 停止但不删除(数据与网络保留,start 秒回)
docker compose stop
# 再次启动
docker compose start
# 整体销毁(数据目录 /opt/killbill/data 保留)
docker compose down
# 销毁并连带删除数据目录(危险,等同重置安装)
docker compose down && rm -rf /opt/killbill/data
# 升级版本:修改 compose 中镜像标签后重建(数据库结构迁移自动执行,先备份数据目录)
docker compose pull && docker compose up -d
十一、常见问题
Q1:API 一直 404 或连接被拒绝?
核心未就绪或路径前缀错误。等日志出现 Kill Bill server has started;注意 API 根路径是 http://<IP>:8146/1.0/...(Swagger 描述文件在 /swagger),/kb/1.0/... 是旧版路径写法,0.24.x 的 war 上下文就是根路径,不要加 /kb 前缀。
Q2:认证一直 401?
API 认证需要三件套齐全:Basic 管理员凭据(admin:q1w2e3r4,由 KB_ADMIN_PASSWORD 决定)+ X-Killbill-ApiKey + X-Killbill-ApiSecret。三者缺一均返回 401;新部署的数据库没有任何租户,必须先按第 4.5 节创建租户(否则密钥头怎么传都 401)。
Q3:用 JAVA_OPTS 调堆为什么不生效?
见第 7.1 节排障实录:镜像内置 setenv.sh 会在 JAVA_OPTS 之后追加默认堆参数并覆盖之,必须用 TOMCAT_JAVA_XMS/TOMCAT_JAVA_XMX。改后用 jps -v 验证。
Q4:docker compose up 后 KAUI 登录页打不开?
依次检查:docker compose ps 三服务是否全部 Up;KAUI_KILLBILL_URL 是否写的服务内网地址;宿主机 8147 是否被占用(ss -ltn | grep 8147)。KAUI 依赖 Kill Bill API,核心未就绪时 KAUI 登录会报连接错误,等核心启动完成再试。
Q5:升级版本要注意什么?
Kill Bill 版本升级伴随数据库结构迁移(服务启动时自动执行 Flyway 脚本),先 mariadb-dump 全量备份数据目录与库,再改镜像标签 docker compose pull && docker compose up -d;KAUI 与核心版本无强绑定,但建议同批升级到官方同日发布的配对版本。
十二、参考链接
- 官方 Getting Started(Docker 部署章节,compose 三服务结构来源):
https://docs.killbill.io/latest/getting_started.html - 官方核心镜像:
https://hub.docker.com/r/killbill/killbill - 官方 KAUI 镜像:
https://hub.docker.com/r/killbill/kaui - 官方数据库镜像:
https://hub.docker.com/r/killbill/mariadb - Kill Bill 官网:
https://killbill.io - 本平台同组件文档:《Kill Bill 0.24.22 介绍与选型指南》