docker 导入导出容器

将“容器的文件系统”保存到tar包

docker export是将“容器的文件系统”导出为一个tar包。注意是操作的对象是容器!它的具体语法如下:

docker export [OPTIONS] CONTAINER

其中:

docker export: Docker将容器导出到tar包的命令关键词;
OPTIIONS: 命令选项,-o指定写到一个文件中,而不是标准输出流中;
Container: 需要导出到tar包的容器。
例如,将容器container1的“文件系统”保存到tar包,对应的语句如下:

docker export container1 > container1.tar

或者

docker export container1 -o container1.tar

从tar包导入一个镜像

docker import使用docker export导出的tar包加载为一个镜像。它的具体语法如下:

docker import [OPTIONS] 文件|URL|- [镜像名]

其中:

docker import: Docker从tar包加载镜像的命令关键词;
OPTIIONS: 命令选项;
文件|URL|: 指定docker import的对象,可以是文件或者某个URL;
[镜像名]: 以<仓库名>:<标签>的方式来指定。
例如,从container1.tar中加载镜像,镜像名为test:v1.0,对应的语句如下:

docker cat container1.tar | docker import - test:v1.0

docker export和docker save的区别

首先,两者的操作对象不同。docker save是将一个镜像保存为一个tar包,而docker export是将一个容器快照保存为一个tar包。

然后,docker export导出的容器快照文件将丢弃所有的历史记录和元数据信息,即仅保存容器当时的快照状态;而docker save保存的镜像存储文件将保存完整记录,体积也要大。

任务:
1、将busyboxContainer容器的文件系统保存为一个tar包;
2、通过该tar包导入一个busybox:v1.0镜像。

#以busybox为镜像创建一个容器,容器名为busyboxContainer
#拉取busybox 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull busybox

docker run --name busyboxContainer busybox echo "hello"
#1.然后将busyboxContainer导出为容器快照:busybox.tar
#********** Begin *********#
docker export busyboxContainer -o busyboxContainer.tar
#********** End **********#

#2.最后使用该容器快照导入镜像,镜像名为busybox:v1.0。
#********** Begin *********#
cat busyboxContainer.tar | docker import - busybox:v1.0
#********** End **********#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值