我自己根据中国时区修改了命令
docker run -it -e TZ="Asia/Shanghai" -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
NodeRed默认没有开启身份验证,远程访问和生产环境下必须启用身份验证。
启用身份验证:
1确保容器正在运行,并为你要使用的密码生成哈希:
docker exec -it mynodered npx node-red admin hash-pw
运行命令会后出现提示Password:,请输入你设定的密码,输入的密码不显示,也不需要第二次确认,如果忘了可以再次运行该命令重置。
把根据你输入密码生成的哈希码保存好,下面将要粘贴到settings.js文件中。
2 修改settings.js文件
Docker Nodered 配置文件存放路径在 /var/lib/docker/volumes/node_red_data/_data/
cd /var/lib/docker/volumes/node_red_data/_data/
下图是MobaXterm显示的文件目录,在此目录有settings.js文件,我们需要修改部分以便启用身份验证。
使用编辑软件打开setting.js,
创建新的账户,把刚才复制的哈希码粘贴到如下位置:
为安全起见可以注释掉admin账户。
保存文件,重新启动nodered。
查看容器
docker ps -a
停止容器
docker stop 容器ID
删除容器
docker rm 容器ID
运行容器
docker run -it -e TZ="Asia/Shanghai" -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
再次登陆弹出的画面
退出账户