码迷,mamicode.com
首页 > 其他好文 > 详细

Docker镜像的导入导出

时间:2019-12-30 14:26:19      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:test   containe   strong   容器   read   文件   stream   man   comm   

导入/导出命令介绍

导入/导出的功能主要用于Docker镜像的导入导出,用于迁移、备份、升级等场景,或者为隔离且没有私有镜像仓库环境添加docker镜像。

导入/导出的命令主要有下面几个:exportimportsaveload,可以分为2组:

  1. save和load
  2. export和import

下面分别看看他们的用法和区别

save和load

命令用法

sian@ -> ~/manifests$ docker save --help

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
  -o, --output string   Write to a file, instead of STDOUT
  
sian@ -> ~/manifests$ docker load --help

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN

Options:
  -i, --input string   Read from tar archive file, instead of STDIN
  -q, --quiet          Suppress the load output

导出时使用-o或者输出重定向>将本地镜像仓库中的镜像输出保存到文件中。

导入时使用-i或者输入重定向<将镜像文件导入到本地镜像仓库。

实例展示

### 输出
docker save -o nginx.tar nginx:latest 
或
docker save > nginx.tar nginx:latest

### 输入
docker load -i nginx.tar
或
docker load < nginx.tar

export和import

命令用法

sian@ -> ~/manifests$ docker import --help

Usage:  docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Import the contents from a tarball to create a filesystem image

Options:
  -c, --change list      Apply Dockerfile instruction to the created image
  -m, --message string   Set commit message for imported image
sian@ -> ~/manifests$ docker export --help

Usage:  docker export [OPTIONS] CONTAINER

Export a container's filesystem as a tar archive

Options:
  -o, --output string   Write to a file, instead of STDOUT

实例展示

### export
docker export -o nginx-test.tar nginx-test

### import
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp

两组命令区别

  1. export 命令导出的 tar 文件略小于 save 命令导出的
  2. export 命令是从容器(container)中导出 tar 文件,而 save 命令则是从镜像(images)中导出
  3. export 导出的文件再 import 回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。

最佳实践

可以依据具体使用场景来选择命令

  1. 若是只想备份images,使用save、load即可
  2. 若是在启动容器后,容器内容有变化,需要备份,则使用export、import

Docker镜像的导入导出

标签:test   containe   strong   容器   read   文件   stream   man   comm   

原文地址:https://www.cnblogs.com/vinsent/p/12119310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!