导出|导入镜像或容器
导出镜像或容器
1、export 方式
# 语法
docker export <容器ID或容器名称> > <保存的文件名>.tar
# 示例
docker export test_image > export_image.tar
docker export
命令导出的是容器的文件系统内容,而不是镜像本身
2、save 方式
# 使用方式一
docker save test_image > export_image.tar
# 使用方式二
docker save -o images.tar mysql:8.0.33 gitea:1.21.3
docker save
命令用于将 Docker 镜像保存为一个或多个 tar 归档文件。它并不用于导出容器,而是用于导出镜像。
区别
- docker export:
- 作用:
docker export
命令用于将容器的文件系统内容导出为一个 tar 归档文件。 - 特点:导出的内容包括容器的文件系统内容,但不包括容器的元数据和配置信息。导出的内容可以被传输到其他地方,但不会包含镜像的信息。
- 作用:
- docker save:
- 作用:
docker save
命令用于将一个或多个 Docker 镜像保存为 tar 归档文件。 - 特点:
docker save
包含了整个镜像的所有层、元数据和标签信息。这使得可以在不同的 Docker 主机之间共享完整的镜像
- 作用:
导入镜像或容器
1、import 方式
# 语法
docker import <文件> <仓库名>:<标签>
# 示例
docker import - new_image < test_image.tar
docker import
命令用于从归档文件中创建一个文件系统映像。它可以从标准输入中读取归档文件,并创建一个新的映像。docker import 命令创建的映像是一个本地的、独立的映像,不依赖于任何现有的 Docker 镜像。
2、load方式
# 使用方式一
docker load < test_image.tar
# 使用方式二
docker load -i <文件>
docker load
加载整个镜像,包括所有层和元数据。
区别
- docker import:
- 作用:
docker import
命令用于从归档文件中创建一个文件系统映像。它可以从标准输入中读取归档文件,并创建一个新的映像。 - 特点:
docker import
命令创建的映像是一个本地的、独立的映像,不依赖于任何现有的 Docker 镜像。
- 作用:
- docker load:
- 作用:
docker load
命令用于从 tar 归档文件中加载镜像。它可以加载一个或多个 Docker 镜像。 - 特点:
docker load
命令会将整个镜像(包括镜像的所有层和元数据)加载到 Docker 引擎中。通常用于在不同的 Docker 主机之间共享镜像。
- 作用:
如果使用 import 导入 save 产生的文件,虽然导入不提示错误,但是启动容器时会提示失败,会出现类似"docker: Error response from daemon: Container command not found or does not exist"的错误。
docker import将container导入后会成为一个image,而不是恢复为一个container。
另外一点是,docker import可以指定IMAGE[:TAG],说明我们可以为镜像指定新名称。