docker存出和载入镜像、导出和导入容器
结论:通过测试,存出镜像后再载入 和 导出容器后再导入 结果是一样的。
如果容器内项目有修改,并且不需要历史记录,选择
两个方法的区别:
- 镜像和容器 导出和导入的区别
1)容器(export 导出、import导入) 是将当前容器 变成一个新的镜像,导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag <LAYER ID> <IMAGE NAME>);
2)镜像(save保存、load加载) 是复制的过程,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree) - save 和 export区别
1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息 - 镜像导出的 tar 文件比容器导出文件大。
使用场景的区别
- 容器内项目有修改
不需要历史记录的、想要体积小、又快速的,选择容器导出;反之选择镜像导出,镜像导出需先将容器commit成新的镜像,才能使用镜像导出。 - 容器内项目无修改
选择镜像导出。
- 若是只想备份images,使用save、load即可
- 若是在启动容器后,容器内容有变化,需要备份,则使用export、import。(或者将容器commit成新的镜像,在使用镜像导出)
一、存出和载入镜像
存出镜像
如果要导出镜像到本地文件,可以使用 docker save
命令。实际测试证明:镜像导出的名字不管是ubuntu_14.04.tar、还是ubuntu_14.04,即使文件后缀名不同或者没有,它们导出的体积大小也是固定的。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 c4ff7513909d 5 weeks ago 225.4 MB
...
$sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
载入镜像
可以使用 docker load
从导出的本地文件中再导入到本地镜像库,例如
$ sudo docker load --input ubuntu_14.04.tar
或
$ sudo docker load < ubuntu_14.04.tar
这将导入镜像以及其相关的元数据信息(包括标签等)。
二、导出和导入容器
导出容器
如果要导出本地某个容器,可以使用 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/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 或者某个目录来导入,例如
$sudo docker import http://example.com/exampleimage.tgz example/imagerepo
*注:用户既可以使用 docker load
来导入镜像存储文件到本地镜像库,也可以使用 docker import
来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。
注意:
Docker执行错误报错--Error response from daemon: No command specified,意思是需要跟一条命令
docker run -p 80:80 -it test/ubuntu:v1.0 /bin/bash
参考:http://wiki.jikexueyuan.com/project/docker-technology-and-combat/image.html
docker存出和载入镜像、导出和导入容器相关推荐
- docker 存出,载入镜像
docker save XXXXXX存出镜像,随意拷贝分享给他人,这个导出的是一个XXXXX.tar文件 载入镜像:docker load --input XXXXX.tar 转载于:https:// ...
- Docker技术入门与实战(第2版)3.6 存出和载入镜像
3.6 存出和载入镜像 用户可以使用docker save和docker load命令来存出和载入镜像. 1.?存出镜像 如果要导出镜像到本地文件,可以使用docker save命令.例如,导出本地的 ...
- 《Docker技术入门与实战》——3.6 存出和载入镜像
本节书摘来自华章计算机<Docker技术入门与实战>一书中的第3章,第3.6节,作者:杨保华,戴王剑,曹亚仑著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...
- 【Docker技术入门与实战】存出和载入镜像
可以使用 docker save和docker load命令来存出和载入镜像. 存出镜像 如果要存出镜像到本地文件,可以使用docker save命令.例如,存出本地的ubuntu:14.04镜像为文 ...
- 存出和载入docker镜像
使用docker save 和 docker load 命令存出和载入镜像. 存出镜像 将镜像存出到本地文件,使用docker save .例如将busybox:latest镜像存出为文件bb ...
- (四)docker镜像存出和载入
镜像的存出与载入 1.存出镜像 导出镜像到本地文件:-o :输出到文件 -output 例如:将ubuntu:18.04镜像导出到本地文件ubuntu.tar docker save -o ubunt ...
- Docker的镜像导出与导入与拷贝
#将镜像存储 docker save nginx:latest > /root/docker-images/nginx.tar#导入镜像文件 docker load --input /root/ ...
- Docker镜像导出与导入,save命令和load命令
1.docker save docker save : 将指定镜像保存成 tar 归档文件. docker save [OPTIONS] IMAGE [IMAGE...] OPTIONS 说明:-o ...
- Docker实践(二)镜像
目录 从仓库获取镜像 管理本地主机的镜像 创建镜像 修改已有镜像 使用Dockerfile创建镜像 从本地文件系统导入镜像 上传镜像 存出和载入镜像 清理镜像 Docker使用镜像创建容器,Docke ...
最新文章
- SAL-9 获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no以及salary,当前表示to_date='9999-01-01'...
- 7.7. 其他证书工具
- java标点符号用什么意思_java怎么统计字符串内的标点符号?
- search strategies
- 云炬随笔20211016(4)
- 大话数据结构:线性表(3)
- qt5 交叉编译webkit_基于QT平台的交叉编译环境搭建的架构分析
- CTF刷题网站汇总(包括本地可以自己搭建的)(1)
- C语言控制流对应的汇编语句
- 前端学习(3144):react-hello-react之对比新旧周期
- 【034】◀▶ 学习网站 问题解决
- 随想录(协议栈的基本技术)
- 雇佣黑客组织利用 3Ds Max 恶意软件攻击全球企业
- Qt Chart柱状图实现
- 计算机主要主机的组成部分包括什么作用,电脑的组成及其作用各是什么
- Win8右键反应慢的原因与解决办法
- 欢迎各位大佬,哥哥姐姐 打赏,
- 十五、IO流【黑马JavaSE笔记】(本文文中记录了个人学习感受)
- 查找网站的IP地址的两种方法
- Windows注册表知识