需求
因未上库或网速慢等原因,有时需要传输打包后的docker image
官方建议的方法使用save & load命令导出文件比较繁琐
希望借助管道将打包stdout直接传入远程ssh主机读取
实现
通过官方例程得知docker save 默认写入stdin通过>重定向到文件
反之亦然,docker load默认读取stdin通过<读取文件,尝试如下
docker save polinux/stress | ssh user@10.0.1.88 docker load
成功传输,尝试交换终端反向拉取
ssh user@10.0.1.88 docker save polinux/stress | docker load
成功拉取
加速
使用gzip嵌套管道加速ssh数据传输
docker load可自动识别,无需解压
docker save polinux/stress | gzip | ssh user@10.0.1.88 docker load
参考
docker save | Docker Documentation
docker load | Docker Documentation