Docker镜像的导入导出

导入/导出命令介绍

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

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

  1. save和load
  2. export和import

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

save和load

命令用法

[email protected] -> ~/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

[email protected] -> ~/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

命令用法

[email protected] -> ~/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
[email protected] -> ~/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

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

时间: 2024-08-03 15:51:55

Docker镜像的导入导出的相关文章

Docker 镜像-管理-导入-导出

目录 Docker 镜像基本概念 Docker 镜像加速 Docker 镜像 常用命令 Docker 镜像的创建和导出导入 Docker 镜像基本概念 我们使用的容器都是基于镜像的,镜像是由多层组成的,容器是在镜像上面添加了一个读写层.镜像一般储存在 /var/lib/docker/image/. 多个容器是引用的同一个 镜像,容器不会更改镜像的内容,而是创建一个可写层,并将数据保存在 /var/lib/docker/containers 中. Docker 镜像加速 当我们在使用 Docker

docker镜像容器导入导出

记录一下,省的以后自己老忘. ubuntu-14.04-x86_64.tar.gz是下载的模板文件,导入模板文件示例如下 [email protected]:~# ll ubuntu-14.04-x86_64.tar.gz  -rw-r--r-- 1 root root 154056446 May 17 10:04 ubuntu-14.04-x86_64.tar.gz [email protected]:~# cat ubuntu-14.04-x86_64.tar.gz | docker imp

docker images 保存导入导出、容器导入导出

Docker:镜像操作和容器操作 镜像操作 列出镜像: $ sudo docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE hello-world         latest              0a6ba66e537a        4 weeks ago         960 B 获取镜像: docker系统镜像可以从任意一

Docker 镜像的导入和导出

镜像的导入和导出 export 和improt [[email protected]#localhost docker]# docker run -ti ubuntu:update /bin/bash [email protected]d:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp update.txt usr var [[email protected]#localhost

docker容器的导入导出

导出容器docker export 导出容器快照到本地文件$ sudo docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES7691a814370e        ubuntu:14.04        "/bin/bash"         36 hou

容器和镜像的导入导出及部署

一.镜像导出 save 1.查看镜像 docker images 2.导出镜像 docker save -o test.tar image_name 或 docker save image_name > /test.tar 二.容器导出 export 1.导出容器 命令格式为: docker export [-o|--output[=""]] CONTATINER  或: docker export 容器id/name >文件名.tar 例如: docker export

docker镜像文件导入与导出

工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境 1. 查看镜像id sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/calico/node v1.0.1 c70511a49fa1 6 weeks ago 257 MB hello-world latest 48b5124b2768 2 months ago 1.84 kB quay.

docker镜像构建以及导出save、导入load

前导:通过commit构建本地镜像,save保存镜像,load加载镜像1.通过commit构建镜像[[email protected] ~]# docker commit -p web1-p:表示在构建镜像的过程中,容器被暂停,web1是被构建的容器对象,及将运行名称为web1的容器打包为一个镜像2.查看构建的镜像,此时构建的镜像没有仓库名和标签3.为镜像添加仓库名和标签,并重新查看镜像4.将该镜像打包保存至本地linux根目录下[[email protected] ~]# docker sav

Docker镜像批量导入

作用 主要目的用于批量镜像导入; 1.支持传参数导入 实例: sh import.sh "pause_3.1.tar etcd_3.3.10.tar" 注意:多个tar文件使用空格分隔; 2.支持脚本定义导入镜像名称 实例: vi import.sh STATE="ImgName1 ImgName2 ImgName3 ...." sh import.s 3.支持指定目录导入镜像 实例: vi import.sh TARDIR="/usr/local/bak