实验环境
CentOS 7.5
容器
容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。
导入和导出容器
实现容器的迁移。
导出容器
导出容器是指将一个已经创建(不管此时容器是否处于运行状态)的容器到一个文件。
[[email protected] /opt/collector_module/AI-AOMT/bin/Parser]# docker container export --help
Usage: docker container export [OPTIONS] CONTAINER
Export a container‘s filesystem as a tar archive
Options:
--help 帮助信息
-o, --output string 执行输出的tar文件名
可用-o参数指定导出的tar文件名;
也可用重定向的方式来实现导出:docker export CONTAINER > TARFILENAME
导入容器
用docker import命令可以将导出的容器导入变成镜像。
[[email protected] ~]# docker import --help
Usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Import the contents from a tarball to create a filesystem image
Options:
-c, --change list 导入的同时执行对容器进行修改的Dockerfile指令
--help 帮助信息
-m, --message string 对导入的镜像设定同步信息
测试将上边导出的container_dbdata.tar导入成为新的镜像:
导入后生成的是镜像不是容器;
导入命令行中的container_dbdata.tar对应成为REPOSITORY,v1.0对应成为TAG;
docker load命令也可以导入一个镜像存储文件,跟docker import命令导入镜像的区别如下:
docker import:丢弃了所有的历史记录和元数据信息,仅保存容器当时的快照状态。在导入的时候可以重新制定标签等元数据信息;
docker load:将保存完整记录,体积较大。