Docker 镜像和容器的导入导出

Docker 镜像和容器的导入导出

一、镜像的导出和导入

1.镜像的保存

Docker 镜像和容器的导入导出
[root@k8s-master ~]# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
nginx                                             latest              ae513a47849c        2 months ago        109MB
debian                                            jessie              4eb8376dc2a3        2 months ago        127MB
rabbitmq                                          3.6.8               8cdcbee37f62        15 months ago       179MB

[root@k8s-master tmp]# docker save ae513a47849c > nginx-save.tar
[root@k8s-master tmp]# ls -lh
total 108M
-rw-r--r-- 1 root root 108M Jul  4 09:32 nginx-save.tar
Docker 镜像和容器的导入导出

第二种写法:

docker save -o nginx-save.tar ae513a47849c

2.镜像的导入

可以将导出的nginx-save.tar包传到需要的docker主机上面,然后执行导入命令.

Docker 镜像和容器的导入导出
[root@k8s-master tmp]# ls -lh
total 108M
-rw-r--r-- 1 root root 108M Jul  4 09:32 nginx-save.tar
[root@k8s-master tmp]# docker load < nginx-save.tar 
82b81d779f83: Loading layer [==================================================>]  54.21MB/54.21MB
7ab428981537: Loading layer [==================================================>]  3.584kB/3.584kB
Loaded image ID: sha256:ae513a47849c895a155ddfb868d6ba247f60240ec8495482eca74c4a2c13a881
Docker 镜像和容器的导入导出

第二种写法:

docker load -i nginx-save.tar

二、容器的导出和导入

1.容器的导出

[root@k8s-master tmp]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
220aee82cfea        tomcat:7            "catalina.sh run"   9 seconds ago       Up 7 seconds        8080/tcp            tomcat7
docker export -o mysql-`date +%Y%m%d`.tar 220aee82cfea

2.容器的导入


docker import  my_ubuntu_v3.tar runoob/ubuntu:v4  


镜像和容器 导出和导入的区别:

1.镜像导入 是复制的过程
2.容器导入 是将当前容器 变成一个新的镜像

save 和 export区别:

1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息

 

####

Docker load 之后镜像名字为none问题解决

近期,我发现,将镜像压缩包使用docker load -i 命令之后,镜像的名字和标签都是none,每次都需要重命名镜像,很是麻烦

Docker 镜像和容器的导入导出

这个问题的根本在于这个镜像压缩包在打包的时候操作不当所导致

例如,使用镜像ID打包的话导致解压的出来的镜像没有名字

docker save -o redis.tar 7864316753

因此,推荐使用镜像的名字进行打包,例如:

docker save -o redis.tar redis:5.0.2

此方式打包的镜像,解压出来就有镜像名称了

另外,附上重命名镜像的方法:

docker tag [镜像id] [新镜像名称]:[新镜像标签]

 

上一篇:第十九节——spring练习之页面上用户的添加


下一篇:opencv简单应用