
folioorg/mod-circulation-storageFOLIO - mod-circulation-storage 是 FOLIO (The Future of Libraries Is Open) 项目的核心模块之一,专注于图书馆流通业务(如借阅、归还、续借等)相关数据的存储与管理。该模块提供标准化的数据持久化服务,支持流通业务数据的高效读写与查询,是 FOLIO 流通模块的底层存储支撑。
代码仓库:[***]
JAVA_OPTIONS 优化 JVM 运行参数bashdocker run -d \ --name mod-circulation-storage \ -p 8081:8081 \ -e DB_HOST=postgres \ -e DB_PORT=5432 \ -e DB_NAME=folio_circulation \ -e DB_USER=folio_user \ -e DB_PASSWORD=folio_password \ -e KAFKA_HOST=kafka \ -e KAFKA_PORT=9092 \ -e REPLICATION_FACTOR=1 \ -e ENV=folio \ -e JAVA_OPTIONS="-XX:MaxRAMPercentage=66.0" \ folioorg/mod-circulation-storage:latest
-p 8081:8081:端口映射,将容器内 8081 端口(模块默认端口)映射到主机以下为包含数据库(PostgreSQL)、Kafka 及 mod-circulation-storage 的完整部署示例:
yamlversion: '3.8' services: # PostgreSQL 数据库(流通数据存储) postgres: image: postgres:13-alpine environment: POSTGRES_DB: folio_circulation POSTGRES_USER: folio_user POSTGRES_PASSWORD: folio_password volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U folio_user -d folio_circulation"] interval: 10s timeout: 5s retries: 5 # Kafka 消息队列(可选,用于事件通知) kafka: image: confluentinc/cp-kafka:7.3.0 depends_on: zookeeper: condition: service_healthy environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ports: - "9092:9092" zookeeper: image: confluentinc/cp-zookeeper:7.3.0 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 healthcheck: test: ["CMD", "echo", "ruok", "|", "nc", "localhost", "2181"] interval: 10s timeout: 5s retries: 5 # mod-circulation-storage 服务 mod-circulation-storage: image: folioorg/mod-circulation-storage:latest depends_on: postgres: condition: service_healthy kafka: condition: service_started ports: - "8081:8081" environment: # 数据库连接参数(必填) DB_HOST: postgres DB_PORT: 5432 DB_NAME: folio_circulation DB_USER: folio_user DB_PASSWORD: folio_password # Kafka 连接参数(可选,若启用消息通知则必填) KAFKA_HOST: kafka KAFKA_PORT: 9092 REPLICATION_FACTOR: 1 # 环境标识(必填) ENV: folio # JVM 配置(可选,默认 -XX:MaxRAMPercentage=66.0) JAVA_OPTIONS: "-XX:MaxRAMPercentage=66.0 -Xms256m" deploy: resources: limits: memory: 512M # 对应容器内存 536870912 字节(512MB) volumes: postgres-data:
| 环境变量 | 描述 | 类型 | 默认值 | 是否必填 |
|---|---|---|---|---|
MODULE_PORT | 模块服务端口 | 整数 | 8081 | 否 |
DB_HOST | 数据库主机地址 | 字符串 | - | 是 |
DB_PORT | 数据库端口 | 整数 | 5432(PostgreSQL默认) | 否 |
DB_NAME | 数据库名称 | 字符串 | - | 是 |
DB_USER | 数据库用户名 | 字符串 | - | 是 |
DB_PASSWORD | 数据库密码 | 字符串 | - | 是 |
KAFKA_HOST | Kafka 主机地址 | 字符串 | kafka | 否 |
KAFKA_PORT | Kafka 端口 | 整数 | 9092 | 否 |
REPLICATION_FACTOR | Kafka 消息副本数 | 整数 | 1 | 否 |
ENV | 环境标识(如 dev/prod) | 字符串 | folio | 是 |
JAVA_OPTIONS | JVM 运行参数 | 字符串 | -XX:MaxRAMPercentage=66.0 | 否 |
536870912 字节),避免因内存不足导致服务异常REPLICATION_FACTOR 设为 2 或以上,提高消息可靠性服务启动后,可通过访问模块健康检查接口验证部署状态:
bashcurl http://<host>:8081/admin/health
若返回 {"status":"OK"},表示服务部署成功并正常运行。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务