说明
系统:CentOS7.9
nifi版本:1.23.2
下载镜像
nifi的镜像比较大,大概有2G左右,下载时间根据个人网速而定
bash
docker pull apache/nifi:1.23.2
查看下载好的镜像
bash
docker images

复制容器数据
创建挂载目录
创建挂载目录的目的是为了将镜像内部的数据挂载到宿主机,防止容器不小心删掉导致数据丢失
bash
mkdir -p /root/data/nifi
# 查看创建好的目录
ls -l /root/data

启动临时容器
目的是为了将容器中的数据复制到宿主机对应的挂载目录中
bash
docker run --name nifi -d apache/nifi:1.23.2

查看容器是否启动成功
bash
docker ps

复制容器数据到宿主机
命令中docker cp后面的nifi是容器的名称,也可以使用容器的id
bash
docker cp nifi:/opt/nifi/nifi-current/ /root/data/nifi/
复制结束后会打印成功的日志

查看宿主机是否有数据
bash
cd /root/data/nifi/
ll

移除nifi容器
bash
docker rm -f nifi
修改挂载目录的权限
bash
chmod +777 -R /root/data/nifi/

启动nifi容器
SINGLE_USER_CREDENTIALS_USERNAME:登录nifi的用户名
SINGLE_USER_CREDENTIALS_PASSWORD:登录nifi需要的密码,请注意,密码必须至少为12个字符,否则NiFi将生成一个随机用户名和密码
执行命令启动
bash
docker run -p 8443:8443 --privileged=true \
--name nifi \
-e SINGLE_USER_CREDENTIALS_USERNAME=<your username> \
-e SINGLE_USER_CREDENTIALS_PASSWORD=<your password> \
-v /root/data/nifi/nifi-current:/opt/nifi/nifi-current \
-d apache/nifi:1.23.2

查看容器是否启动成功
bash
docker ps

查看默认用户名和密码
如果在正式启动容器的时候没有指定用户名和密码,可以使用以下命令查看默认的用户名、密码
bash
docker logs -f nifi | grep Generated
执行命令后会看到以下的用户名和密码,用户名和密码是随机生成。如果配置了自己的用户名和密码,并且密码是符合要求的,那么执行上面的命令后是没有用户名、密码显示的。可以用这个命令校验自己的用户名、密码是否生效。

登录nifi
登录nifi必须使用https协议,而且使用ip+端口号的形式是无法登录,会有如下提示

点击高级=>继续前往 后会有以下提示

配置hosts
去配置自己的hosts文件,在hosts文件中增加以下内容,里面的ip改为自己的实际ip
bash
192.168.88.141(自己的ip) 95cf55450ad8:8443
192.168.88.141(自己的ip) 95cf55450ad8
配置完hosts后,使用https+随机生成的字符串+端口访问
bash
https://95cf55450ad8:8443/

点击高级 => 继续前往xxxx

发现此时已经可以正常显示界面了

点击/nifi,或者等待5秒后自己会跳转到登录页面

输入自己的用户名和密码即可登录,登陆成功界面如下

结束语
以上便是使用docker安装apache/nifi的整个过程,如果有问题欢迎评论或私信