正在进入ing...

Docker镜像的备份和导入

发布时间:2021-05-02 浏览量: 23 文章分类: 运维相关

在日常传递转移自己打包的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的镜像文件了。