docker docker export/import, save/load

laofo · 发布于 2017年11月02日 · 最后由 laofo 回复于 2017年11月02日 · 315 次阅读
4

使用 docker import 从容器快照文件中再导入为镜像,例如 $ cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0

共收到 2 条回复
4
laofo · #1 · 2017年11月02日
  • docker load --help ``` Usage: docker load [OPTIONS]

Load an image from a tar archive or STDIN

--help Print usage -i, --input Read from a tar archive file, instead of STDIN -q, --quiet Suppress the load output


- docker import

docker: "import" requires a minimum of 1 argument. See 'docker import --help'.

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

Import the contents from a tarball to create a filesystem image

4
laofo · #2 · 2017年11月02日
  • docker export 导出容器,持久化容器,把容器导出生成一个tar 包 反向用 import 导入
- sudo docker export <CONTAINER ID> > /home/export.tar
- cat /home/export.tar | sudo docker import - busybox-1-export:latest
  • docker save, 导出镜像,持久化镜像,把镜像保存生成一个tar包
- docker save busybox-1 > /home/save.tar
- docker load < /home/save.tar

导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag 来回滚之前的层)。

vagrant@ubuntu-13:~$ sudo docker images --tree
    ├─f502877df6a1 Virtual Size: 2.489 MB Tags: busybox-1-export:latest
    └─511136ea3c5a Virtual Size: 0 B
      └─bf747efa0e2f Virtual Size: 0 B
        └─48e5f45168b9 Virtual Size: 2.489 MB
          └─769b9341d937 Virtual Size: 2.489 MB
            └─227516d93162 Virtual Size: 2.489 MB Tags: busybox-1:lates
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册