
先注释掉上面标红的地方,能能启动了。如果非要弄这个conf配置,那么就看下面的:
检查 conf 目录是否为空
ls -la /home/ml_source/docker/nifi/conf/
如果目录是空的,这就是问题所在。NiFi 容器启动时需要读取 bootstrap.conf 等配置文件,但挂载的目录里什么都没有。
解决方案
方案1:从 NiFi 容器中复制初始配置文件(推荐)
1. 先停止并删除当前容器
docker stop nifi
docker rm nifi
2. 临时启动一个 NiFi 容器(不挂载卷)
docker run --name nifi-temp -d apache/nifi:latest
3. 等待几秒让容器初始化
sleep 10
4. 从容器中复制配置文件到宿主机
docker cp nifi-temp:/opt/nifi/nifi-current/conf/. /home/ml_source/docker/nifi/conf/
5. 修改权限
sudo chown -R 1000:1000 /home/ml_source/docker/nifi/conf/
6. 验证文件已复制
ls -la /home/ml_source/docker/nifi/conf/
7. 删除临时容器
docker stop nifi-temp
docker rm nifi-temp
8. 使用 docker-compose 重新启动
cd /home/ml_source/docker
docker-compose -f docker-compose-ml.yml up -d nifi
9. 查看日志
docker logs -f nifi