一条Shell命令实现docker镜像服务器间快速转移

📅 2026/7/31 21:44:52
一条Shell命令实现docker镜像服务器间快速转移
文章目录一概述二说明1, pigz2, pv3,管道命令三辅助脚本四运行效果一概述docker镜像一个命令转移到指定服务器相关文章Docker遍历镜像生成导出镜像命令六法如何下载Distroless Java镜像如何下载Distroless Java镜像续样例192.168.0.1请替换为镜像接受服务器IP值#安装工具yuminstall-ypigzpv#默认端口22dockersave redis:alpine|pigz|pv|sshroot192.168.0.1cat|docker load#非默认端口22dockersave redis:alpine|pigz|pv|ssh-p10022root192.168.0.1cat|docker load#多个镜像dockersave redis:alpine hello-world|pigz|pv|sshroot192.168.0.1cat|docker load二说明1, pigzpigz命令是Linux系统中用于文件压缩的工具属于gzip的并行实现旨在利用多核处理器的优势来加速压缩过程。以下是对pigz命令的详细介绍和一些使用案例。pigz命令概述基本功能pigzParallel Implementation of GZip是一个高效的压缩工具能够显著提高大文件的压缩速度。它支持gzip的所有选项和压缩级别兼容性良好。主要特点多线程支持pigz可以使用多个处理器核心进行压缩显著提高速度。保留原文件通过-k选项可以在压缩后保留源文件。灵活性支持多种压缩级别从最快到最慢-1到-9。当然这边也可以使用bzip2,gzip,区别可以自己去研究。2, pvpv 命令是一个在 Linux/Unix 系统的实用工具用于监控数据的流动。pv 命令可以用于计算数据传输的速度显示进度条以及估算剩余时间等。3,管道命令管道命令就是用来连接多条指令的前一条指令的输出流向会作为后一条指令的操作对象。管道命令的操作符是|它只能处理由前面一条指令传出的正确输出信息对错误信息是没有直接处理能力的。然后传递给下一条指令作为操作对象。三辅助脚本p2p.sh注意192.168.0.1请替换为镜像接受服务器IP值#!/bin/bashSERVER192.168.0.1echo####单条镜像迁移命令dockerimages--format{{.Repository}}:{{.Tag}}|sort|whilereadLINEdoechodocker save${LINE}|pigz|pv|ssh root${SERVER}cat|docker loaddoneecho-e\n####批量镜像迁移命令echo-ndocker save echo-n$(dockerimages--format{{.Repository}}:{{.Tag}}|sort)echo|pigz|pv|ssh root${SERVER}cat|docker load四运行效果[root00fly docker-run]# docker save redis:alpine hello-world|pigz|pv|ssh root116.62.45.57 cat|docker loadroot116.62.45.57s password:10.2MiB0:00:08[1.23MiB/s][]Loaded image: redis:alpine Loaded image: hello-world:latest–over–