热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Docker备份镜像和重新载入镜像

目录一、简介二、压缩镜像为tar包三、重新载入tar包生成镜像四、总结一、简介实际项目中,有时候可能会遇到需要批量备份已经存在的镜像,又或者说

目录

一、简介

二、 压缩镜像为tar包

三、 重新载入tar包生成镜像

四、总结




一、简介

实际项目中,有时候可能会遇到需要批量备份已经存在的镜像,又或者说项目地服务器暂时无法拉取镜像等等原因,这时候我们就可以将公司镜像仓库中的镜像在本地打成tar压缩包,然后通过xftp传输到项目地服务器中,然后再项目地中重新加载这些镜像即可。本文将总结如何批量打包Docker镜像并且重新载入镜像,主要包含两个步骤:


  • 压缩镜像为tar包;
  • 重新载入tar包生成镜像;

这里以nginx镜像为例,详细的操作步骤请见下面。


二、 压缩镜像为tar包

【a】 从镜像仓库中拉取nginx镜像到用来打tar包的服务器

docker pull 192.168.2.78:5000/library/nginx:latest

【b】查询镜像的imageID

docker images | grep 192.168.2.78:5000/library/nginx

 可见镜像ID为:5fa3fabcd585,这个后面要用到。

【c】 保存镜像到tar包 

docker save 5fa3fabcd585 -o /opt/ly-sm-nginx-latest.tar

注意:5fa3fabcd585表示是上面一步查询出来的imageID。


打包成功我们查看opt目录已经有ly-sm-nginx-latest.tar压缩包:

ll /opt/ | grep ly-sm-nginx-latest.tar


三、 重新载入tar包生成镜像

【a】将tar包传输到项目地的服务器中的某个目录下

这里放到/opt目录下为例:

【b】使用docker load重新加载镜像

docker load -i /opt/ly-sm-nginx-latest.tar

【c】重新打镜像标签

docker tag sha256:5fa3fabcd58525bcec53e0f38e855134d2e25f88cd28ae1d7f874a3d21cfe5a0 192.168.35.128:5000/develop/ly-sm-nginx:latest

【d】查看是否成功载入镜像

docker images | grep nginx

 

可以发现,成功将镜像重新加载到新的服务器中,这时候就可以使用docker push推送到项目地镜像仓库中升级即可,同时我们也看到重新载入的镜像ID跟压缩成tar包之前是一样的。


四、总结

以上就是线下备份镜像或者打包镜像到项目地重新加载镜像的方法,在某个特殊场景下还是用处挺大的,希望对大家有所帮助。


推荐阅读
author-avatar
手机用户2502902033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有