docker load 从压缩包加载镜像需使用 docker save 生成的标准 tar 文件,支持 .tar 或 .tar.gz(需解压或管道处理),不兼容 zip/7z 或手动打包;命令为 docker load -i image.tar,加载后镜像含完整层、标签及元数据。

使用 docker load 从压缩包加载镜像,核心是先用 docker save 导出的 tar 文件(不是任意压缩包),再通过 load 恢复为本地镜像。
确认文件是标准的 Docker 镜像 tar 包
docker load 只认由 docker save 生成的 tar 文件(含 manifest.json 和 layer 数据),不支持 zip、7z 或手动打包的镜像目录。如果拿到的是 xxx.tar.gz,需先解压成 xxx.tar 再加载:
- 正确来源:运行过
docker save -o myapp.tar nginx:alpine得到的myapp.tar - 错误示例:直接压缩
/var/lib/docker或用tar -czf打包容器根目录,load会失败 - 验证方法:执行
file myapp.tar,应显示POSIX tar archive;若提示gzip compressed data,说明是 gz 格式,需先gunzip myapp.tar.gz
基本加载命令及常见写法
最简命令就是指定 tar 文件路径:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
-
docker load -i myapp.tar(-i表示 input,可省略) docker load (用重定向方式,效果相同)- 加载成功后会输出类似
Loaded image: nginx:alpine,表示镜像已存在本地
加载后检查和使用
加载不等于自动运行,只是把镜像存入本地仓库:
- 运行
docker images查看是否出现对应镜像(REPOSITORY、TAG、IMAGE ID) - 若原 tar 包里有多个镜像(比如用
docker save -o multi.tar img1 img2打包),load会全部导入 - 可以直接用
docker run启动,例如:docker run --rm -p 8080:80 nginx:alpine
遇到“invalid format”或“no such file”怎么办
常见报错及应对:
-
open myapp.tar: no such file or directory:检查当前路径是否正确,建议用绝对路径或加./,如docker load -i ./myapp.tar -
invalid format, read a non-tar file:文件不是 tar 格式,可能是损坏、被二次压缩,或根本不是docker save产出 - 无输出也无报错?说明文件为空或权限不足,用
ls -lh myapp.tar确认大小是否 >0,用chmod +r myapp.tar确保可读

















