软件开发与部署过程中经常需要构建、导出、导入、加载镜像文件

镜像导出方式与区别

导出镜像有两种方式,根据命令执行方式可以称为保存与导出

docker export -o imageName.tar containerId # 导出容器 containerId 为容器名称 imageName.tar为导出路径与名称
docker save -o imageName.tar targetName # 保存镜像 targetName为镜像名称 imageName.tar为导出路径与名称

两种命令的区别如下所示

  • docker save保存的是镜像(image),docker export保存的是容器(container)

  • docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像

  • docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称

如果是用 docker save 打包的,就可以用 docker load,但是如果压缩包是用 docker export 打包的,那就需要用 docker import

save与load

save命令

docker save [options] images [images...]
docker save -o sdc.tar imageName

-o指定保存位置

load命令

docker load [options]
docker load -i sdc.tar

-i 指定输入包位置

export与import

export命令运行

docker export [options] containerId
docker export -o sdc.tar containerId # 

containerId为导出的镜像名称

import 导入

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
docker import sdc.tar tagName

导入sdc.tar,镜像名称为tagName,OPTIONS参数如下:

  • -c :应用docker 指令创建镜像

  • -m :提交时的说明文字