纸帆|ZevenFang

我们终其一生寻找的无非是那个甘愿为你停下脚步,为你驻足的人。

0%

Docker镜像导入导出

导出容器docker export

导出容器快照到本地文件

1
2
3
4
$ 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

从容器快照文件中再导入为镜像

1
2
3
4
$ cat ubuntu.tar | sudo docker import - test/ubuntu: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 或者某个目录来导入

导入远程的包:This will create a new untagged image.

1
sudo docker import http://example.com/exampleimage.tgz

导入本地文件:Import to docker via pipe and STDIN.
1
cat exampleimage.tgz | sudo docker import- exampleimagelocal:new

导入本地目录:
1
sudo tar -c dir/| sudo docker import - docker-image-name

PS: 用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。