使用HTTP运行Apache NiFi 2.0 Docker容器失败求助
解决Apache NiFi 2.0 Docker容器HTTP端口不生效问题
问题分析
NiFi 2.0及以上版本默认强制启用HTTPS服务,仅设置NIFI_WEB_HTTP_PORT环境变量不会自动禁用HTTPS,这就是为什么你的容器依然启动了https://xxx:8443/nifi服务,而非你指定的HTTP 8081端口。之前用docker run -d -P apache/nifi:2.0.0能正常运行,是因为Docker自动映射了NiFi默认的HTTPS 8443端口,而非启动了HTTP服务。
解决方案
要让NiFi 2.0容器以HTTP模式运行,需要在启动命令中添加额外的环境变量,明确禁用HTTPS并配置HTTP服务的绑定地址:
docker run -d -p 8081:8081 \ -e NIFI_WEB_HTTP_PORT=8081 \ -e NIFI_WEB_HTTP_HOST=0.0.0.0 \ -e NIFI_WEB_HTTPS_ENABLED=false \ apache/nifi:2.0.0
参数说明
NIFI_WEB_HTTP_PORT=8081:指定HTTP服务监听的端口NIFI_WEB_HTTP_HOST=0.0.0.0:让NiFi绑定容器内所有网卡,确保外部能通过容器端口访问NIFI_WEB_HTTPS_ENABLED=false:直接禁用HTTPS服务,强制NiFi仅启动HTTP服务
验证
运行上述命令后,查看容器日志:
docker logs <容器ID>
应该会看到类似以下的日志,说明HTTP服务已成功启动:
INFO [main] org.apache.nifi.web.server.JettyServer Started Server on http://<容器ID>:8081/nifi
内容的提问来源于stack exchange,提问作者ARIJIT SINGH
相关产品推荐
相关产品推荐

