docker常用命令集(3)

接前一篇文章:docker常用命令集(2)

本文内容参考:

Docker load 命令 | 菜鸟教程

docker load命令详解 - 郭慕荣 - 博客园

Docker保存镜像和导入镜像文件(图文详解)_docker save-CSDN博客

特此致谢!

6. docker load

简介

docker load命令用于从归档文件(.tar 或 .tar.gz) 中加载Docker镜像到本地镜像库。它通常与docker save命令配合使用,实现镜像的离线迁移或备份恢复。

docker load命令用于从由docker save命令生成的tar文件中加载Docker镜像。它可以将存档中的镜像和所有层加载到Docker中,使其可以在新环境中使用。

基本语法

bash 复制代码
docker load [OPTIONS] < input.tar
或
docker load -i input.tar
bash 复制代码
docker load -i <输入文件路径>

常用选项

OPTIONS说明:

  • -i, --input: 指定输入文件的路径。指定输入的.tar文件路径(替代 < 重定向)。
  • **-q, --quiet:静默**模式,减少输出信息(不输出加载详情)。
  • < input.tar:使用Shell重定向加载指定.tar文件(与 -i 二选一)。

用法示例

  • 从文件加载镜像
bash 复制代码
docker load -i myimage.tar
或
docker load < myimage.tar

从myimage.tar文件中加载镜像(到本地)。

  • 从压缩文件加载(如 .tar.gz)
bash 复制代码
gunzip -c alpine.tar.gz | docker load

解压并加载.tar.gz文件。

  • 从标准输入加载镜像
bash 复制代码
cat myimage.tar | docker load

通过管道从标准输入加载镜像。

  • 静默模式加载
bash 复制代码
docker load -q -i myimage.tar

不显示加载过程中的层信息。

意义与用途

  • 恢复备份:docker load命令用于将之前使用docker save命令创建的tar文件重新加载到Docker 中,使其成为可用的镜像。这对于从备份中恢复镜像非常有用,特别是在发生灾难恢复时。

  • 接收迁移的镜像:当从其它机器接收到镜像文件后,可以使用docker load将其导入本地 Docker环境。这使得跨机器或跨环境的镜像共享变得简单易行。

  • 定制化镜像部署:如果你有一个经过特殊定制的镜像,并且希望将其部署到多个环境中,可以通过docker save和docker load组合来实现。例如,在开发完成后,可以将开发环境中的镜像导出,然后在测试或生产环境中导入,从而保证各个环境的一致性。

  • 绕过镜像仓库限制:有时候,由于网络问题或者镜像仓库的访问权限限制,无法直接从远程仓库拉取镜像。此时,可以先在有访问权限的环境中获取镜像并保存为文件,再通过docker load在受限环境中导入镜像。

  • 私有镜像的安全分发:对于包含敏感信息或专有技术的镜像,直接上传到公共镜像仓库可能存在安全风险。通过docker save和docker load,可以在不公开镜像内容的前提下,安全地在受信任的合作伙伴之间分发镜像。

更多内容请看下回。