Docker save 命令
docker save
命令用于将一个或多个 Docker 镜像保存到一个 tar 归档文件中,以便在其他环境中分发或备份。
语法
docker save [OPTIONS] IMAGE [IMAGE...]
IMAGE
: 要保存的一个或多个镜像名称或 ID。
OPTIONS 说明:
-o, --output
: 指定输出文件的路径。
1、保存单个镜像到文件
docker save -o myimage.tar myimage:latest
这将 myimage:latest 镜像保存为 myimage.tar 文件。
2、保存多个镜像到同一个文件
docker save -o multiple_images.tar myimage:latest anotherimage:latest
这将 myimage:latest 和 anotherimage:latest 镜像保存到 multiple_images.tar 文件中。
实例
构建一个示例镜像
1、创建一个 Dockerfile:
# 使用 Ubuntu 作为基础镜像 FROM ubuntu:20.04 # 添加维护者信息 LABEL maintainer="yourname@example.com" # 更新包列表并安装 Nginx RUN apt-get update && apt-get install -y nginx # 复制自定义网页到 Nginx 的默认网页目录 COPY index.html /var/www/html/ # 设置启动时的默认命令 CMD ["nginx", "-g", "daemon off;"]
构建镜像:
docker build -t mynginx:latest .
2、保存镜像到文件
docker save -o mynginx.tar mynginx:latest
这将 mynginx:latest 镜像保存为 mynginx.tar 文件。
3、验证保存的文件
ls -lh mynginx.tar
输出示例:
-rw-r--r-- 1 user user 200M Jul 24 14:00 mynginx.tar
4、加载保存的镜像
要将保存的镜像加载到另一个 Docker 环境中,可以使用 docker load 命令:
docker load -i mynginx.tar
注意事项
- 保存镜像时,会包含镜像的所有层,因此生成的 tar 文件可能会很大。
- 如果保存多个镜像到同一个文件中,使用
docker load
命令时会加载所有包含的镜像。 - 为了减少文件大小,可以在保存前使用
docker image prune
命令清理未使用的镜像和层。
docker save
命令是一个方便的工具,用于将 Docker 镜像保存为 tar 文件,以便于备份、分发和迁移。通过结合 docker load
命令,可以轻松地在不同环境中恢复和使用保存的镜像。
docker新人
gob***intree@sina.com
参考地址
docker 镜像导入导出有两种方法:
一种是使用 save 和 load 命令
使用例子如下:
一种是使用 export 和 import 命令
使用例子如下:
需要注意两种方法不可混用。
docker新人
gob***intree@sina.com
参考地址
test
tes***est.test
给楼上更正一下:
export 和 import 导出的是一个容器的快照, 不是镜像本身, 也就是说没有 layer。
你的 dockerfile 里的 workdir, entrypoint 之类的所有东西都会丢失,commit 过的话也会丢失。
快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也更大。
test
tes***est.test