Docker环境下使用Node-RED的Write file节点时如何确定文件存储位置?
Docker环境下使用Node-RED的Write file节点时如何确定文件存储位置?
老兄,我来帮你把这个文件存储的事儿捋明白~
首先说默认情况:你用Docker跑Node-RED,容器默认的工作目录是/data。如果你的Write file节点里只填了文件名(比如molding-report.pdf),没写绝对路径,那文件肯定就存在容器的/data目录里了——这也是为啥你用Read file节点能读到它,因为Read file默认也是从这个目录找文件的。
接下来是怎么在Windows宿主机上找到这个目录:
- 先打开终端,输入
docker volume inspect node_red_data(官方Node-RED镜像默认会创建这个名为node_red_data的卷),输出里的Mountpoint字段就是宿主机上对应的真实路径。 - 根据你的Docker后端类型,路径会不一样:
- WSL2后端:路径大概长这样:
\\wsl$\Ubuntu\var\lib\docker\volumes\node_red_data\_data(把Ubuntu换成你用的WSL发行版) - Hyper-V后端:路径一般是
C:\Users\<你的用户名>\.docker\volumes\node_red_data\_data
- WSL2后端:路径大概长这样:
要是觉得默认路径太隐蔽,找起来麻烦,咱们可以自定义存储位置:
- 用docker run命令启动容器时,添加挂载参数:
-v C:\molding-reports:/app/reports,这里C:\molding-reports是你Windows上要存文件的文件夹,/app/reports是容器里对应的路径。 - 要是用Docker Compose,就在配置文件的volumes部分添加:
volumes: - C:\molding-reports:/app/reports
之后你在Write file节点里把路径设为/app/reports/xxx.pdf,生成的文件就直接出现在Windows的C:\molding-reports里了,找起来超方便~
备注:内容来源于stack exchange,提问作者Fando
相关产品推荐
相关产品推荐

