介绍
介绍
我们辛辛苦苦调好了一个容器的设置,想保存起来怎么办?
我们需要备份一个容器的设置和数据,数据没有通过卷功能做持久化怎么办?
我们想把调整好的容器打包成一个镜像供其他环境使用,应该怎么办?
这些问题都涉及到一个操作,就是把容器数据整体导出,形成一个文件,或者一个镜像。
export
导出镜像可以使用export命令,export可以将一个容器(可以是运行中的容器)打包到一个tar文件里面。
所以容器里面的文件都可以在这个tar文件里面找到,不过卷数据不会被打包进来。
docker export maintain > tflinux-maintain-210830.tar
import
导入容器到镜像可以使用import命令,import可以将一个通过export命令导出的tar文件导入到docker的一个新的镜像里面。
docker import tflinux-maintain-210830.tar tflinux/maintain:210830
注意:在通过使用import命令导入的镜像启动容器的时候必须指定shell,通常情况下就是/usr/sbin/init,如果步指定会报错。
docker run -tid --name maintain-210830 -h maintain tflinux/maintain:210830 /usr/sbin/init
否则就会报Error response from daemon: No command specified错误了。
特点
使用export/import方式创建的镜像是非常“纯净”的,它和基于其他镜像创建自己的镜像是不一样的,使用这个export/import创建的镜像完全不依赖任何其他i镜像,非常适合做基础镜像。
总结
今天学习了docker的export/import命令的使用方法,大家可以在需要备份容器或者调试容器功能的时候利用export/import命令完成纯净的镜像的建立。