docker容器技术之镜像image导入导出(7)

持久化docker的镜像或容器的方法

Docker的镜像和容器可以有两种方式来导出

docker save #ID or #Name
docker export #ID or #Name

1.docker save和docker export的区别

对于docker save方法,会保存该镜像的所有历史记录

对于docker export 方法,不会保留历史记录,即没有commit历史

docker save保存的是镜像(image),docker export保存的是容器(container);

docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;

docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

2.推荐使用:

导出tar包>>> docker export -o name.tar container_name|ID

导入tar包>>> docker import name.tar image_name:tag

或者:

容器直接导成镜像>>> docker commit 容器名或id repository:tag

3.import命令 - image

从tar包导入为镜像。

docker import [options] file|URL|- [REPOSITORY[:TAG]]

示例
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp

4.save命令 - image

从镜像保存导出为tar包。

docker save [options] images [images...]

示例 
docker save -o nginx.tar nginx:latest 

或 
docker save > nginx.tar nginx:latest 

其中 -o 和 > 表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)


save命令导出多个镜像到一个tar包
docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o kube.tar

5.load命令

导入镜像包,包含原数据

docker load [options]

示例
docker load -i nginx.tar

或
docker load < nginx.tar
其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息

6.export命令

导出容器为镜像。

docker export [options] container

示例
docker export -o nginx-test.tar nginx-test

#导出为tar

docker export #ID or #Name > /home/export.tar

其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)

7.commit

如果容器导出的镜像没有其他cp需求的话,有种更快的从容器变为镜像的操作,可以说,一步到位,省去导出成镜像tar包,导入镜像tar包的过程:

docker commit container_name|container_ID repository:tag

帮助文件:

root@ubuntu:~# docker commit --help

Usage:	docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

Create a new image from a container's changes

Options:
  -a, --author string    Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
  -c, --change list      Apply Dockerfile instruction to the created image
  -m, --message string   Commit message
  -p, --pause            Pause container during commit (default true)

https://www.cnblogs.com/zhuochong/p/10064350.html

posted on 2021-01-30 11:34  进击的davis  阅读(451)  评论(0编辑  收藏  举报

导航