docker镜像导出和导入
一、镜像导出和导入
1.1、导出(save)
- 方式一
docker save 镜像id > /导出的位置/导出后的名称
- 方式二
docker save 镜像名:标签 > /导出的位置/导出后的名称
目前docker
中有一个MySQL
的镜像,需要将这个镜像导出到 /opt/data
文件夹下名称为mysql.tar.gz
。
首先需要创建 /opt/data
目录
docker save db2b37ec6181 > /opt/data/mysql.tar.gz
docker save mysql:latest > /opt/data/mysql-master.tar.gz
1.2、导入
- 方式一
镜像名称和标签都齐全(推荐)
docker load -i 镜像地址
- 方式二
这种方式只会将镜像导入,但是镜像名称和标签名称没有。
docker load < 镜像地址
先将原来的镜像删除 docker rmi mysql:latest
- 导入镜像
docker load < /opt/data/mysql.tar.gz
docker load -i /opt/data/mysql-master.tar.gz
1.3、导入多个镜像脚本
如果镜像有很多个需要导入,如果我们一个一个的导入会很麻烦,所以写一个脚本导入会更加方便。
#!/bin/bash
ls /opt/data/kubeadm-basic.images > /opt/data/list.txt
cd /opt/data/kubeadm-basic.images
for x in $(cat /opt/data/list.txt)
do
docker load -i $x
done
rm -rf /opt/data/list.txt # 将这个删除,不删除也没问题
ls /opt/data/kubeadm-basic.images > /opt/data/list.txt
: 将kubeadm-basic.images
这个目录中的所有问价名读取到list.txt
中。
cd /opt/data/kubeadm-basic.images
进入kubeadm-basic.images
文件夹for x in $(cat /opt/data/list.txt) do docker load -i $x done
循环list.txt中的文件,
docker load -i $x
添加到docker
中。
二、容器导入和导出
1.1、导出容器
docker export 容器名 > XXX.tar
1.2、导入容器
docker import XXX.tar
这种方式导入到镜像当中,并不是容器。