Docker镜像的备份和导入
发布时间:2021-05-02
浏览量: 1629
文章分类: 运维相关
在日常传递转移自己打包的Docker 镜像的时候,通过Docker Hub总是有点一言难尽(速度慢)。要么就是要挂代理,要么还是通过内网镜像仓库传递。不过其实docker也提供了 导入&导出功能,使用了一下,发现其实还是挺方便的,而且灵活性更好。适合不是分布式,只是单机导出导入的个人使用。
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 62d49f9bab67 2 weeks ago 133MB
假设我想把这个nginx镜像发到别的机器上。(就当做这个nginx是我自己打包的镜像吧),这里我们就用到了docker提供的save | load2个命令。
docker镜像导出
Usage: docker save [OPTIONS] IMAGE [IMAGE...]
# 可以将制定的镜像导出
Save one or more images to a tar archive (streamed to STDOUT by default)
Options:
-o, --output string Write to a file, instead of STDOUT
# -o 参数,自定文件
以我自己的电脑为例,docker save -o /Users/zj/Desktop/nginx.tat nginx 执行后,桌面就会出现一个叫做nginx.tar的文件。而我只需要将这个文件放到别的电脑导入即可。
docker镜像 导入
Usage: docker load [OPTIONS]
Load an image from a tar archive or STDIN
Options:
-i, --input string Read from tar archive file, instead of STDIN
# -i input 导入指定的文件
-q, --quiet Suppress the load output
# -q 精简输出信息
还是上面同样的例子,我先将docker里面的nginx的镜像删除了。然后在执行导入
(base) ZjdeMacBook:~ zj$ docker load -i /Users/zj/Desktop/nginx.tat
Loaded image: nginx:latest
执行以后,在查看,就发现有这个镜像了。这样就可以不通过docker hub来传递docker的镜像文件了。