You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中通过SSH将大文件传输至Linux加载Docker镜像?

解决方案

修复原PowerShell命令的问题

你原命令里的-Raw参数是核心问题——它会把整个二进制镜像文件一次性加载到内存中,大体积镜像必然导致内存占用过高、程序挂起。只需去掉该参数,就能让命令以流式方式处理文件:

Get-Content -Path C:\temp\my_docker_image.tar.gz -Encoding Byte | ssh -l matt 192.168.1.250 docker image load

-Encoding Byte保证文件以二进制格式读取,去掉-Raw后,Get-Content会分块读取并输出内容,数据流直接通过管道传递给ssh,不会在内存中缓存整个文件。

更高效的替代方案

如果想进一步降低开销,可以直接让ssh进程读取本地文件,跳过PowerShell管道中转,用Start-Process的重定向功能实现:

Start-Process -NoNewWindow -Wait ssh -ArgumentList "-l matt 192.168.1.250 docker image load" -RedirectStandardInput "C:\temp\my_docker_image.tar.gz"

这个命令让ssh直接从指定文件读取输入,避免了PowerShell处理二进制流的额外消耗,对超大镜像文件更友好。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:43:11