如何将EFLOW VM中IoT Edge容器离线文件复制到Windows主机本地磁盘
正确复制EFLOW VM容器文件到Windows主机C盘的方法
方法一:分步复制(容器 → EFLOW VM本地 → Windows主机)
步骤1:连接到EFLOW VM
在Windows主机的PowerShell中执行:
Connect-EflowVm
步骤2:将容器内文件复制到EFLOW VM本地目录
在EFLOW VM的shell中执行,先把文件从EdgeHub容器复制到VM的临时目录,比如/tmp/edge_storage:
sudo docker cp EdgeHub:/var/iotedge/storage /tmp/edge_storage
步骤3:退出EFLOW VM连接
执行:
exit
步骤4:从EFLOW VM复制到Windows主机C盘
在Windows主机的PowerShell中执行,注意路径格式和传输方向参数:
Copy-EflowVmFile -FromFile "/tmp/edge_storage" -ToFile "C:\TempEdge" -FromVmToHost
方法二:利用EFLOW主机挂载映射(需提前配置)
如果部署EdgeHub时已将storageFolder挂载到EFLOW VM中映射到Windows主机的目录,可直接同步:
- 在EFLOW VM中查看已挂载的主机共享目录:
df -h
- 若存在类似
/mnt/host/c/TempEdge的挂载路径,直接用docker cp复制到该路径:
sudo docker cp EdgeHub:/var/iotedge/storage /mnt/host/c/TempEdge
文件会直接同步到Windows主机的C:/TempEdge目录。
错误原因解析
- docker cp报错:EFLOW VM是独立的Linux系统,无法直接识别Windows主机的
c:/TempEdge路径,只能先将文件复制到VM本地文件系统,再转存到主机。 - Copy-EflowVmFile报错:你之前的命令参数顺序错误,且未指定传输方向。该命令需在Windows主机执行,
-FromFile和-ToFile要对应-FromVmToHost或-FromHostToVm参数,同时Linux路径用斜杠,Windows路径用反斜杠。
内容的提问来源于stack exchange,提问作者user25065003
相关产品推荐
相关产品推荐

