Docker命令解读-五

title: Docker命令解读(五)
date: 2015-11-23 19:48:07
tags: docker

categories: Docker Commands

Docker命令解读系列文章将系统讲解Docker使用的命令,方便大家学习Docker的基本操作。在写这个系列文章的时候,主要参考了Docker官方的文档,有些内容是直接的翻译。原文档地址 Docker Docs
转载请注明出处

本篇的命令涉及镜像的备份,迁移,导入和导出,主要有下面几个命令:
* import
* export
* save
* load
* saveexport的差异

import

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

Create an empty filesystem image and import the contents of the
tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then
optionally tag it.

  -c, --change=[]    Apply Dockerfile instruction to the created image
  --help=false       Print usage
  -m, --message=     Set commit message for imported image

import的功能是从容器快照导入为镜像。容器快照通常是一个本地的或通过URL指定的文件,也可以使用-选项从STDIN读入一个文件。
如果指定的是一个压缩文件,Docker会将其解压,解压的目录相对于/根目录,如果指定的是一个单独的文件,必须指定它在宿主机上的完整路径。
导入时可以指定容器的名称[REPOSITORY]和标签[TAG]
--change标识用于向导入的镜像添加Dockerfile指令,支持的Dockerfile指令有:
CMDENTRYPOINTENVEXPOSEONBUILDUSERVOLUMEWORKDIR
--message用于在导入镜像的时候为镜像添加从commit信息
举例:
从URL导入:

$ docker import http://example.com/exampleimage.tgz

STDIN导入:

$ cat exampleimage.tgz | docker import - exampleimagelocal:new

导入时添加--message

$ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new

export

Usage:  docker export [OPTIONS] CONTAINER

Export a container's filesystem as a tar archive

  --help=false       Print usage
  -o, --output=      Write to a file, instead of STDOUT

将容器的文件系统到处为压缩文件。
docker export命令不会导出容器挂载的卷volumes中的文件。
举例:

$ docker export red_panda > latest.tar

或者:

$ docker export --output="latest.tar" red_panda

save

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

Save an image(s) to a tar archive (streamed to STDOUT by default)

  --help=false       Print usage
  -o, --output=""    Write to a file, instead of STDOUT

save操作的对象是镜像而不是容器(export命令的操作对象是容器),他会将一个镜像和其所有层包括tag信息都打包成一个tar。
save命令通常用来备份backup一个镜像之后用load命令将其载入到另一个主机中。
举例:

$ docker save busybox > busybox.tar

甚至,使用save命令可以将多个不同标签的镜像打包成一个文件。

$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy

load

Usage: docker load [OPTIONS]

Load an image from a tar archive or STDIN

  --help=false       Print usage
  -i, --input=""     Read from a tar archive file, instead of STDIN.
  The tarball may be compressed with gzip, bzip, or xz

load命令用于像Docker添加镜像,默认是从STDIN读入经save输出的文件,格式为:

$ docker load < image.tar

也可以使用-i--input标识指定一个tar文件而不是从STDIN读取。例如:

$ docker load --input fedora.tar

`export`和`save`之间的差异

<还没研究透,研究透回来再写>
首先,export操作的对象是容器,而save操作的是镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值