apache/nifi-registry本镜像是Apache NiFi Registry的非官方便捷Docker镜像。Apache NiFi Registry是Apache NiFi的配套工具,主要用于版本化和管理NiFi数据流资源(如模板、处理器、控制器服务、报告任务等),支持追踪资源变更历史、回滚版本及团队协作,是NiFi生态中实现数据流生命周期管理的核心组件。
使用以下命令构建默认版本的NiFi Registry镜像:
bash# 在Dockerfile所在目录执行 docker build -t apache/nifi-registry:latest .
构建完成后,可通过docker images查看镜像:
bashdocker images > REPOSITORY TAG IMAGE ID CREATED SIZE > apache/nifi-registry latest 751428cbf631 时间戳 342MB
注意:Dockerfile默认指定的NiFi Registry版本通常为未发布版本(若从源码构建)。
如需构建特定已发布版本的镜像,可通过NIFI_REGISTRY_VERSION构建参数覆盖默认版本:
bashdocker build --build-arg NIFI_REGISTRY_VERSION={目标版本号} -t apache/nifi-registry:latest .
兼容性说明:配置脚本至少支持NiFi Registry 0.1.0+版本,但旧版本可能因配置参数变更导致不兼容,使用时需注意版本匹配。
启动无安全认证的NiFi Registry实例,暴露UI端口***:
bashdocker run --name nifi-registry \ -p ***:*** \ -d \ apache/nifi-registry:latest
容器启动后,可通过http://localhost:***/nifi-registry访问Web UI。
通过环境变量NIFI_REGISTRY_WEB_HTTP_PORT修改服务端口,示例如下(将端口改为***):
bashdocker run --name nifi-registry \ -p ***:*** \ -d \ -e NIFI_REGISTRY_WEB_HTTP_PORT='***' \ apache/nifi-registry:latest
环境变量说明:完整环境变量列表可参考镜像内的.sh/secure.sh和.sh/start.sh脚本。
需提供证书文件及配置信息,关键参数包括:
AUTH=tls:启用双向SSL认证;INITIAL_ADMIN_IDENTITY:客户端证书的可分辨名称(DN),用于初始化管理员权限;/opt/certs路径。示例命令:
bashdocker run --name nifi-registry \ -v /path/to/tls/certs/localhost:/opt/certs \ # 主机证书目录映射 -p ***:*** \ -e AUTH=tls \ -e KEYSTORE_PATH=/opt/certs/keystore.jks \ # 密钥库路径 -e KEYSTORE_TYPE=JKS \ # 密钥库类型(如JKS/PKCS12) -e KEYSTORE_PASSWORD=QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs \ # 密钥库密码 -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \ # 信任库路径 -e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \ # 信任库密码 -e TRUSTSTORE_TYPE=JKS \ # 信任库类型 -e INITIAL_ADMIN_IDENTITY='CN=AdminUser, OU=nifi' \ # 管理员证书DN -d \ apache/nifi-registry:latest
需配置LDAP连接参数,若LDAP服务启用LDAPS或START_TLS,还需提供相关证书。关键参数包括:
AUTH=ldap:启用LDAP认证;INITIAL_ADMIN_IDENTITY:LDAP用户的DN,用于初始化管理员权限;bashdocker run --name nifi-registry \ -v /path/to/tls/certs/localhost:/opt/certs \ # 若LDAP需证书,挂载证书目录 -p ***:*** \ -e AUTH=ldap \ -e KEYSTORE_PATH=/opt/certs/keystore.jks \ # 密钥库配置(同双向SSL) -e KEYSTORE_TYPE=JKS \ -e KEYSTORE_PASSWORD=QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs \ -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \ -e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \ -e TRUSTSTORE_TYPE=JKS \ -e INITIAL_ADMIN_IDENTITY='cn=nifi-admin,dc=example,dc=org' \ # LDAP管理员DN -e LDAP_AUTHENTICATION_STRATEGY='SIMPLE' \ # 认证策略(SIMPLE/START_TLS/LDAPS) -e LDAP_MANAGER_DN='cn=ldap-admin,dc=example,dc=org' \ # LDAP管理用户DN -e LDAP_MANAGER_PASSWORD='password' \ # LDAP管理用户密码 -e LDAP_USER_SEARCH_BASE='dc=example,dc=org' \ # 用户搜索基DN -e LDAP_USER_SEARCH_FILTER='cn={0}' \ # 用户搜索过滤器({0}为用户名占位符) -e LDAP_IDENTITY_STRATEGY='USE_DN' \ # 身份策略(USE_DN/USE_USERNAME) -e LDAP_URL='ldap://ldap:389' \ # LDAP服务URL -d \ apache/nifi-registry:latest
若LDAP服务启用START_TLS或LDAPS,可添加以下环境变量配置TLS:
bash-e LDAP_TLS_KEYSTORE='/path/to/ldap/tls/keystore.jks' \ # LDAP客户端密钥库路径 -e LDAP_TLS_KEYSTORE_PASSWORD='tls_keystore_password' \ # 密钥库密码 -e LDAP_TLS_KEYSTORE_TYPE='JKS' \ # 密钥库类型 -e LDAP_TLS_TRUSTSTORE='/path/to/ldap/tls/truststore.jks' \ # LDAP客户端信任库路径 -e LDAP_TLS_TRUSTSTORE_PASSWORD='tls_truststore_password' \ # 信任库密码 -e LDAP_TLS_TRUSTSTORE_TYPE='JKS' \ # 信任库类型
| 环境变量 | 说明 | 示例值 |
|---|---|---|
NIFI_REGISTRY_WEB_HTTP_PORT | NiFi Registry Web服务HTTP端口 | *** |
AUTH | 认证模式(空值:无认证;tls:双向SSL;ldap:LDAP) | tls |
INITIAL_ADMIN_IDENTITY | 初始管理员身份标识(双向SSL:客户端证书DN;LDAP:用户DN) | CN=AdminUser, OU=nifi |
KEYSTORE_PATH | 密钥库文件路径(双向SSL/LDAP模式必填) | /opt/certs/keystore.jks |
KEYSTORE_TYPE | 密钥库类型(如JKS、PKCS12) | JKS |
KEYSTORE_PASSWORD | 密钥库密码 | QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs |
TRUSTSTORE_PATH | 信任库文件路径(双向SSL/LDAP模式必填) | /opt/certs/truststore.jks |
TRUSTSTORE_TYPE | 信任库类型 | JKS |
TRUSTSTORE_PASSWORD | 信任库密码 | rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE |
LDAP_URL | LDAP服务URL | ldap://ldap:389 |
LDAP_AUTHENTICATION_STRATEGY | LDAP认证策略(SIMPLE/START_TLS/LDAPS) | SIMPLE |

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