一、export与import命令
使用 docker import 来导入一个容器快照到本地镜像库,容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),从容器快照文件导入时可以重新指定标签等元数据信息。
应用场景:主要用来制作基础镜像,比如从一个ubuntu镜像启动一个容器,然后安装一些软件和进行一些设置后,使用docker export保存为一个基础镜像。然后,把这个镜像分发给其他人使用,比如作为基础的开发环境。
通过export命令也可以将容器里的数据保存,并可以迁移到别的docker主机。
注意:1.会丢弃历史记录和元数据。
2.启动export与import命令导出导入的镜像必须加/bin/bash或者其他/bin/sh,否则会报错。
export:
导出容器会丢失历史记录和元数据,类似于快照。
命令格式:
docker export [容器ID|Name] > xxx.tar
或 docker export -o xxx.tar [容器ID|Name]
import:
导入容器快照到本地镜像库。
命令格式: docker import xxx.tar newname:tag
例如:
1.创建容器web并新增数据
[root@localhost ~]# docker run -itd --name web nginx
9a17f7c9f00a3711018581a1523ecd7a06c40d1408ae5678e034be1a1e4e0cd8
[root@localhost ~]# docker exec -it web touch /mnt/test.txt
[root@localhost ~]# docker exec -it web ls /mnt/
test.txt
2.导出容器快照
[root@localhost ~]# docker export web > web.tar
[root@localhost ~]# ll -h web.tar
-rw-r--r-- 1 root root 123M 5月 13 04:34 web.tar
3.导入容器快照到本机镜像库
[root@localhost ~]# docker import web.tar web:v1
sha256:134f9251e15e56060d564c23cec4be0048434fb90b19188ea64bf77af77b85ff
[root@localhost ~]# docker images
REPOSITORY TAG