系统:CentOS7.9
nifi版本:1.23.2
nifi的镜像比较大,大概有2G左右,下载时间根据个人网速而定
docker pull apache/nifi:1.23.2
docker images
创建挂载目录的目的是为了将镜像内部的数据挂载到宿主机,防止容器不小心删掉导致数据丢失
mkdir -p /root/data/nifi
# 查看创建好的目录
ls -l /root/data
目的是为了将容器中的数据复制到宿主机对应的挂载目录中
docker run --name nifi -d apache/nifi:1.23.2
docker ps
命令中docker cp后面的nifi是容器的名称,也可以使用容器的id
docker cp nifi:/opt/nifi/nifi-current/ /root/data/nifi/
复制结束后会打印成功的日志
查看宿主机是否有数据
cd /root/data/nifi/
ll
docker rm -f nifi
chmod +777 -R /root/data/nifi/
SINGLE_USER_CREDENTIALS_USERNAME:登录nifi的用户名
SINGLE_USER_CREDENTIALS_PASSWORD:登录nifi需要的密码,请注意,密码必须至少为12个字符,否则NiFi将生成一个随机用户名和密码
docker run -p 8443:8443 --privileged=true \
--name nifi \
-e SINGLE_USER_CREDENTIALS_USERNAME= \
-e SINGLE_USER_CREDENTIALS_PASSWORD= \
-v /root/data/nifi/nifi-current:/opt/nifi/nifi-current \
-d apache/nifi:1.23.2
docker ps
如果在正式启动容器的时候没有指定用户名和密码,可以使用以下命令查看默认的用户名、密码
docker logs -f nifi | grep Generated
执行命令后会看到以下的用户名和密码,用户名和密码是随机生成。如果配置了自己的用户名和密码,并且密码是符合要求的,那么执行上面的命令后是没有用户名、密码显示的。可以用这个命令校验自己的用户名、密码是否生效。
登录nifi必须使用https协议,而且使用ip+端口号的形式是无法登录,会有如下提示
点击高级=>继续前往 后会有以下提示
去配置自己的hosts文件,在hosts文件中增加以下内容,里面的ip改为自己的实际ip
192.168.88.141(自己的ip) 95cf55450ad8:8443
192.168.88.141(自己的ip) 95cf55450ad8
配置完hosts后,使用https+随机生成的字符串+端口访问
https://95cf55450ad8:8443/
点击高级 => 继续前往xxxx
发现此时已经可以正常显示界面了
点击/nifi,或者等待5秒后自己会跳转到登录页面
输入自己的用户名和密码即可登录,登陆成功界面如下
以上便是使用docker安装apache/nifi的整个过程,如果有问题欢迎评论或私信