Bitnami EJBCA 镜像是一个企业级PKI证书颁发机构(CA)软件的容器化部署方案。EJBCA基于Java (JEE)技术构建,提供完整的证书管理功能,适用于企业级PKI基础设施的搭建和管理。该镜像由Bitnami打包,旨在提供简单、安全且可靠的EJBCA部署方式。
consoledocker run --name ejbca bitnami/ejbca:latest
警告:此快速设置仅适用于开发环境。建议修改不安全的默认凭据,并查看配置部分中的可用配置选项以进行更安全的部署。
获取Bitnami EJBCA Docker镜像的推荐方式是从Docker Hub Registry拉取预构建镜像:
consoledocker pull bitnami/ejbca:latest
如需使用特定版本,可拉取带版本标签的镜像。可在Docker Hub Registry查看可用版本列表:
consoledocker pull bitnami/ejbca:[TAG]
也可通过克隆仓库自行构建镜像:
consolegit clone [***] cd bitnami/ejbca/[VERSION]/[OPERATING-SYSTEM] docker build -t bitnami/ejbca:latest .
EJBCA需要访问MySQL或MariaDB数据库存储信息。以下示例使用Bitnami MariaDB镜像作为数据库后端。
consoledocker network create ejbca-network
consoledocker volume create --name mariadb_data docker run -d --name mariadb \ --env ALLOW_EMPTY_PASSWORD=yes \ --env MARIADB_USER=bn_ejbca \ --env MARIADB_PASSWORD=Bitnami1234 \ --env MARIADB_DATABASE=bitnami_ejbca \ --network ejbca-network \ --volume mariadb_data:/bitnami/mariadb \ bitnami/mariadb:latest
consoledocker volume create --name ejbca_data docker run -d --name ejbca \ -p 8080:8080 -p 8443:8443 \ --env ALLOW_EMPTY_PASSWORD=yes \ --env EJBCA_DATABASE_USERNAME=bn_ejbca \ --env EJBCA_DATABASE_PASSWORD=Bitnami1234 \ --env EJBCA_DATABASE_HOST=mariadb \ --env EJBCA_DATABASE_NAME=bitnami_ejbca \ --network ejbca-network \ --volume ejbca_data:/bitnami/wildfly \ bitnami/ejbca:latest
访问应用:[***]
consolecurl -sSL [***] > docker-compose.yml docker-compose up -d
注意:此docker-compose.yml文件未经过全面测试,建议仅用于开发或测试目的。对于生产环境部署,强烈推荐使用相关的Bitnami Helm Chart。
为避免容器删除导致数据丢失,应挂载数据卷以持久化存储EJBCA数据。需挂载的路径为/bitnami/wildfly:
consoledocker run \ -v /path/to/ejbca-persistence:/bitnami/wildfly \ bitnami/ejbca:latest
对于Docker Compose,修改配置文件如下:
diffejbca: ... volumes: - - wildfly_data:/bitnami/wildfly + - /path/to/ejbca-persistence:/bitnami/wildfly ... -volumes: - ejbca_data: - driver: local
| 名称 | 描述 | 默认值 |
|---|---|---|
EJBCA_WILDFLY_ADMIN_USER | Wildfly管理员用户名 | admin |
EJBCA_WILDFLY_ADMIN_PASSWORD | Wildfly管理员密码 | nil |
EJBCA_SERVER_CERT_FILE | 服务器证书文件路径 | nil |
EJBCA_SERVER_CERT_PASSWORD | 服务器证书密码 | nil |
EJBCA_HTTP_PORT_NUMBER | Wildfly HTTP端口 | 8080 |
EJBCA_HTTPS_PORT_NUMBER | Wildfly HTTPS端口 | 8443 |
EJBCA_HTTPS_ADVERTISED_PORT_NUMBER | 管理员登录URL中显示的端口 | $EJBCA_HTTPS_PORT_NUMBER |
EJBCA_ADMIN_USERNAME | EJBCA管理员用户名 | superadmin |
EJBCA_ADMIN_PASSWORD | EJBCA管理员密码 | Bitnami1234 |
EJBCA_DATABASE_FLAVOR | 数据库类型 | mariadb |
EJBCA_DATABASE_HOST | 数据库主机名 | nil |
EJBCA_DATABASE_PORT | 数据库端口 | 3306 |
EJBCA_DATABASE_NAME | 数据库名称 | nil |
EJBCA_DATABASE_USERNAME | 数据库用户名 | nil |
EJBCA_DATABASE_PASSWORD | 数据库密码 | nil |
EJBCA_CA_NAME | CA名称 | ManagementCA |
JAVA_OPTS | JVM选项 | -Xms2048m -Xmx2048m -Djava.net.preferIPv4Stack=true -Dhibernate.dialect=org.hibernate.dialect.MySQLDialect -Dhibernate.dialect.storage_engine=innodb |
EJBCA_SMTP_HOST | SMTP主机名 | localhost |
EJBCA_SMTP_PORT | SMTP端口 | 25 |
EJBCA_SMTP_FROM_ADDRESS | SMTP发件人地址 | *** |
EJBCA_SMTP_TLS | 是否启用SMTP TLS | false |
EJBCA_SMTP_USERNAME | SMTP用户名 | nil |
EJBCA_SMTP_PASSWORD | SMTP密码 | nil |
| 名称 | 描述 | 值 |
|---|---|---|
BITNAMI_VOLUME_DIR | 卷挂载目录 | /bitnami |
EJBCA_BASE_DIR | EJBCA安装目录 | ${BITNAMI_ROOT_DIR}/ejbca |
EJBCA_BIN_DIR | EJBCA二进制可执行文件目录 | ${EJBCA_BASE_DIR}/bin |
EJBCA_CONF_DIR | EJBCA配置文件目录 | ${EJBCA_BASE_DIR}/conf |
EJBCA_DEFAULT_CONF_DIR | EJBCA默认配置文件目录 | ${EJBCA_BASE_DIR}/conf.default |
EJBCA_TMP_DIR | EJBCA临时文件目录 | ${EJBCA_BASE_DIR}/tmp |
EJBCA_INITSCRIPTS_DIR | EJBCA初始化脚本目录 | /docker-entrypoint-initdb.d |
EJBCA_DATABASE_SCRIPTS_DIR | EJBCA数据库脚本目录 | ${EJBCA_BASE_DIR}/sql-scripts |
EJBCA_VOLUME_DIR | EJBCA持久化目录 | ${BITNAMI_VOLUME_DIR}/ejbca |
EJBCA_WILDFLY_VOLUME_DIR | EJBCA Wildlfy持久化目录 | ${BITNAMI_VOLUME_DIR}/wildfly |
EJBCA_DATA_DIR | EJBCA数据目录 | ${EJBCA_VOLUME_DIR}/tls |
EJBCA_DB_SCRIPT_INDEXES | EJBCA数据库索引创建脚本 | ${EJBCA_DATABASE_SCRIPTS_DIR}/create-index-ejbca.sql |
EJBCA_DB_SCRIPT_TABLES | EJBCA数据库表创建脚本 | ${EJBCA_DATABASE_SCRIPTS_DIR}/create-tables-ejbca-mysql.sql |
EJBCA_EAR_FILE | EJBCA应用部署文件 | ${EJBCA_BASE_DIR}/dist/ejbca.ear |
EJBCA_WILDFLY_BASE_DIR | Wildfly基础目录 | ${BITNAMI_ROOT_DIR}/wildfly |
EJBCA_WILDFLY_STANDALONE_DIR | Wildfly独立模式目录 | ${EJBCA_WILDFLY_BASE_DIR}/standalone |
EJBCA_WILDFLY_DEFAULT_STANDALONE_DIR | Wildfly默认独立模式目录 | ${EJBCA_WILDFLY_BASE_DIR}/standalone.default |
EJBCA_WILDFLY_DOMAIN_DIR | Wildfly域模式目录 | ${EJBCA_WILDFLY_BASE_DIR}/domain |
EJBCA_WILDFLY_DEFAULT_DOMAIN_DIR | Wildfly默认域模式目录 | ${EJBCA_WILDFLY_BASE_DIR}/domain.default |
EJBCA_WILDFLY_TMP_DIR | Wildfly临时目录 | ${EJBCA_WILDFLY_BASE_DIR}/tmp |
EJBCA_WILDFLY_BIN_DIR | Wildfly二进制文件目录 | ${EJBCA_WILDFLY_BASE_DIR}/bin |
EJBCA_WILDFLY_CONF_DIR | Wildfly配置目录 | ${EJBCA_WILDFLY_STANDALONE_DIR}/configuration |
EJBCA_WILDFLY_PID_DIR | Wildfly PID文件目录 | ${EJBCA_TMP_DIR} |
EJBCA_WILDFLY_PID_FILE | Wildfly PID文件 | ${EJBCA_WILDFLY_PID_DIR}/wildfly.pid |
EJBCA_WILDFLY_DEPLOY_DIR | Wildfly部署目录 | ${EJBCA_WILDFLY_STANDALONE_DIR}/deployments |
EJBCA_WILDFLY_TRUSTSTORE_FILE | Wildfly信任库文件 | ${EJBCA_WILDFLY_CONF_DIR}/truststore.jks |
EJBCA_WILDFLY_KEYSTORE_FILE | Wildfly密钥库文件 | ${EJBCA_WILDFLY_CONF_DIR}/keystore.jks |
EJBCA_WILDFLY_STANDALONE_CONF_FILE | Wildfly独立模式配置文件 | ${EJBCA_WILDFLY_BIN_DIR}/standalone.conf |
EJBCA_WILDFLY_STANDALONE_XML_FILE | Wildfly独立模式XML配置文件 | ${EJBCA_WILDFLY_CONF_DIR}/standalone.xml |
EJBCA_DAEMON_USER | Wildfly系统用户 | wildfly |
EJBCA_DAEMON_GROUP | Wildfly系统组 | wildfly |
EJBCA_WILDFLY_KEYSTORE_PASSWORD_FILE | 密钥库密码文件 | ${EJBCA_WILDFLY_TMP_DIR}/keystore.pwd |
EJBCA_WILDFLY_TRUSTSTORE_PASSWORD_FILE | 信任库密码文件 | ${EJBCA_WILDFLY_TMP_DIR}/truststore.pwd |
EJBCA_WILDFLY_ADMIN_PASSWORD_FILE | Wildfly管理员密码文件 | ${EJBCA_WILDFLY_TMP_DIR}/wildfly_admin.pwd |
自2025年8月28日起,Bitnami将改进其公共目录,通过新的Bitnami Secure Images计划提供精选的强化、安全聚焦的镜像。作为此过渡的一部分:
这些变更旨在通过促进软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问Bitnami Secure Images公告。
只有部分BSI应用程序可免费使用。如需访问完整的应用程序目录以及企业支持,可尝试Bitnami Secure Images商业版。
非root容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非root用户运行,通常无法执行特权任务。有关非root容器的更多信息,请参阅Bitnami文档。
有关Bitnami标记策略以及滚动标签和不可变标签之间差异的更多信息,请参阅文档页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429