本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Islandora 基础镜像是所有其他 Islandora 镜像的派生基础。该镜像不旨在单独运行,而是作为 Islandora 生态系统中各类服务镜像(如 Drupal、Fedora 等)的构建基石。其构建基于 Islandora-DevOps/isle-buildkit base 项目,底层采用 Alpine Linux,并集成 s6 overlay 进程管理工具和 confd 配置管理工具。
作为 Islandora 生态系统的基础镜像,主要用于:
docker-bake.hcl 文件中指定 alpine 版本(如 alpine:3.18)。confd 用于动态生成配置文件,以下环境变量驱动其核心行为,必须通过容器环境变量显式设置(不可通过 confd 自身配置提供):
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| CONFD_BACKEND | env | 配置后端类型,当前仅支持 env(环境变量)和 etcd(分布式键值存储) |
| CONFD_ENABLE_SERVICE | false | 是否以服务模式持续运行(true 时定期轮询,false 仅启动时运行一次) |
| CONFD_LOG_LEVEL | error | 日志级别(如 debug、info、error) |
| CONFD_POLLING_INTERVAL | 30 | 服务模式下的轮询间隔(秒) |
| ETCD_CONNECTION_TIMEOUT | 0 | 连接 etcd 的超时时间(秒,0 表示无超时) |
| ETCD_HOST | etcd | etcd 服务地址 |
| ETCD_PORT | 2379 | etcd 服务端口 |
说明:无需依赖 etcd,默认通过环境变量即可满足配置需求,适合简化部署场景。
本地开发时,可通过以下环境变量注入自定义证书,使容器内工具(如 curl、Java 应用)信任开发证书:
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| CERT_PUBLIC_KEY | 公钥证书内容(PEM 格式),注入后容器内工具(如 curl)将信任该证书 | |
| CERT_AUTHORITY | CA 根证书内容(PEM 格式),注入后 Java 应用将信任该 CA 签发的证书 |
使用 mkcert 生成本地开发证书(以 islandora.dev 为域名,该域名默认指向 127.0.0.1):
# 安装 mkcert 根证书到系统信任库 mkcert -install # 生成多域名证书(包含本地回环地址) mkcert \ -cert-file cert.pem \ -key-file privkey.pem \ "*.islandora.dev" \ "islandora.dev" \ "localhost" \ "127.0.0.1" \ "::1"
生成后:
cert.pem 作为 CERT_PUBLIC_KEY 的值;mkcert -CAROOT 查看)作为 CERT_AUTHORITY 的值。注意:生产环境无需配置,仅用于本地开发时信任自签名证书。
Islandora 生态中多个服务通过 JWT 认证(如 Drupal 与 Fedora 通信),基础镜像提供以下统一环境变量:
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| JWT_ADMIN_TOKEN | islandora | Bearer 认证令牌(仅在 HTTPS 或私有网络中使用) |
| JWT_PRIVATE_KEY | 参见 base/rootfs/etc/defaults/JWT_PRIVATE_KEY | JWT 私钥(RSA PEM 格式,仅 Drupal 容器需配置) |
| JWT_PUBLIC_KEY | 参见 base/rootfs/etc/defaults/JWT_PUBLIC_KEY | JWT 公钥(RSA PEM 格式,用于验证令牌) |
使用以下命令生成 RSA 公私钥对(无密码保护):
ssh-keygen -q -t rsa -m pem -f /tmp/JWT -N ""
生成后:
/tmp/JWT(私钥)对应 JWT_PRIVATE_KEY;/tmp/JWT.pub(公钥)对应 JWT_PUBLIC_KEY。安全说明:密钥对存储于容器
/opt/keys目录,仅jwt组可读取。服务如需访问密钥,需将运行用户添加至jwt附加组。
基础镜像提供统一的数据库连接配置,通过 DB_DRIVER 指定数据库类型,自动匹配对应环境变量:
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| DB_DRIVER | mysql | 数据库驱动类型,支持 mysql 和 postgresql |
| DB_HOST | 数据库地址(未指定时,由 DB_DRIVER 自动匹配 DB_MYSQL_HOST 或 DB_POSTGRESQL_HOST) | |
| DB_MYSQL_HOST | mariadb | MySQL 数据库地址(DB_DRIVER=mysql 时生效) |
| DB_MYSQL_PORT | 3306 | MySQL 端口(DB_DRIVER=mysql 时生效) |
| DB_NAME | default | 数据库名称 |
| DB_PASSWORD | password | 服务连接数据库的用户密码(如 Drupal 应用用户) |
| DB_PORT | 数据库端口(未指定时,由 DB_DRIVER 自动匹配 DB_MYSQL_PORT 或 DB_POSTGRESQL_PORT) | |
| DB_POSTGRESQL_HOST | postgresql | PostgreSQL 数据库地址(DB_DRIVER=postgresql 时生效) |
| DB_POSTGRESQL_PORT | 5432 | PostgreSQL 端口(DB_DRIVER=postgresql 时生效) |
| DB_ROOT_PASSWORD | password | 数据库 root 用户密码(仅启动时用于创建数据库/用户) |
| DB_ROOT_USER | root | 数据库 root 用户名 |
| DB_USER | default | 服务连接数据库的用户名(如 Drupal 应用用户) |
说明:下游服务镜像可通过添加前缀(如
FCREPO_DB_NAME)实现多服务独立配置。
本地开发时,可通过以下环境变量解决容器内用户与宿主机用户 ID 冲突(避免文件权限问题):
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| DEVELOPMENT_ENVIRONMENT | false | 是否启用开发模式(true 时执行用户 ID 映射等初始化脚本) |
| UID | 宿主机用户 ID(开发模式下,容器内用户 ID 将映射为该值) |
docker run 启动,需由下游服务镜像继承使用。CERT_PUBLIC_KEY 和 CERT_AUTHORITY 仅用于本地开发,生产环境应使用公开可信证书。mysql 和 postgresql,如需其他类型需下游镜像扩展。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429