Fix issue#6: clarify the differences between image:save,load and container:export,import

This commit is contained in:
Baohua Yang 2014-09-19 21:51:21 +08:00
parent 8dffa923bc
commit f4dc2303f6
3 changed files with 52 additions and 25 deletions

View File

@ -0,0 +1,28 @@
##导出和导入容器
###导出容器
如果要导出本地某个容器,可以使用`docker export`命令。
```
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ago test
$ sudo docker export 7691a814370e > ubuntu.tar
```
这样将导出容器快照到本地文件。
###导入容器快照
可以使用`docker import`从容器快照文件中再导入为镜像,例如
```
$ cat ubuntu.tar | sudo docker import - test/buntu:v1.0
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test/ubuntu v1.0 9d37a6082e97 About a minute ago 171.3 MB
```
此外也可以通过指定URL或者某个目录来导入例如
```
$sudo docker import http://example.com/exampleimage.tgz example/imagerepo
```
*注:用户既可以使用`docker load`来导入镜像存储文件到本地镜像库,也可以使用`docker import`来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

View File

@ -1,25 +0,0 @@
##导出和导入镜像
###导出镜像
如果要导出本地的镜像到文件,可以使用`docker export`命令。
```
$sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ago test
$sudo docker export 7691a814370e > ubuntu.tar
```
*注意:也可以使用`docker save`命令导出一个镜像,它会记录从基础镜像到目前状态的所有历史记录,文件体积较大。
###导入镜像
可以使用`docker import`从导出的本地文件中再导入镜像,例如
```
$cat ubuntu.tar | sudo docker import - test_repo/localubuntu:v1.0
```
此外也可以通过指定URL或者某个目录来导入例如
```
$sudo docker import http://example.com/exampleimage.tgz example/imagerepo
```

24
image/save_load.md Normal file
View File

@ -0,0 +1,24 @@
##存出和载入镜像
###存出镜像
如果要导出镜像到本地文件,可以使用`docker save`命令。
```
$sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 826544226fdc 2 weeks ago 194.2 MB
ouruser/sinatra v2 51619aaca804 2 weeks ago 373.3 MB
ubuntu 14.04 c4ff7513909d 5 weeks ago 225.4 MB
$sudo docker export ubuntu:14.04 > ubuntu_14.04.tar
```
###载入镜像
可以使用`docker load`从导出的本地文件中再导入到本地镜像库,例如
```
$sudo docker load --input ubuntu_14.04.tar
```
```
$sudo docker load < ubuntu_14.04.tar
```
这将导入镜像以及其相关的元数据信息(包括标签等)。