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

详解复制备份docker容器数据的方法

这篇文章主要介绍了详解复制备份docker容器数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

这里以jenkins容器为例,介绍三种方法。

方法一

将容器打包成镜像,这时数据就在镜像中了,im:1.0为容器名,可以随便取

docker commit  im:1.0

重新运行镜像,-v将容器内tmp目录映射到宿主机上的tmp目录

docker run -itd -v /tmp:/tmp im:1.0 // 第一个tmp是宿主机目录,第二个是容器内目录

把 /var/jenkins_home的文件复制到tmp下,注意这里的container name是随机生成的,可以通过docker ps | grep im:1.0查看, -it为交互式终端

docker exec -it  cp -r /var/jenkins_home /tmp // cp 复制粘贴

进入tmp目录,查看是否多了个jenkins_home目录

cd /tmp
ls

进入jenkins_home目录,移动内容到home、srv等目录,因为tmp目录是暂时保存的,下次linux重启就会被删除了,这样数据就可以持久化了。

cd jenkins_home/
mv 

注意数据备份完之后,要删除刚才生成的多余容器哦

docker stop  && docker rm 

方法二

官方文档介绍

执行如下命令,为正在运行的容器名,-v映射,/tmp/backup目录是随便指定的, cvf压缩,/var/jenkins_home为要备份的目录

docker run --rm --volumes-from  -v /tmp/backup:/backup ubuntu tar cvf /backup/backup.tar /var/jenkins_home

然后进入backup目录, 会看到上面压缩的文件

cd tmp/backup/
ls

解压

tar xvf backup.tar

解压完会多一个var文件,进入就可以看到jenkins_home目录,里面内容跟方法一备份的数据一样, 使用mv命令移动到其他目录下

cd var/jenkins_home
mv

相较于第一种方法,使用--rm,我们不需要担心资源的回收。

方法三

在尝试第三种方法之前,我们先进到tmp目录下,把jenkins_home和backup目录删掉

rm -rf jenkins_home/ backup/

查看容器id

docker ps | grep jenkins_im

把容器的jenkins_home目录复制到当前的tmp目录下

docker cp :var/jenkins_home /tmp/

进入tmp查看是否有jenkins_home

cd tmp/
ls

进入jenkins_home, 会看到跟之前备份一样的数据,最后还是一样的操作,把内容移动到其他目录下

mv

到此这篇关于详解复制备份docker容器数据的方法的文章就介绍到这了,更多相关复制备份docker容器数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • Docker从安装到入门到项目部署
    容器化的时代你怎么可 ... [详细]
  • Docker基础和常用命令详解_docker
    这篇文章主要介绍了Docker基础和常用命令方法的相关资料, ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • docker是跨平台的?_跨平台构建 Docker 镜像新姿势,x86、arm 一把梭
    点击阅读原文可以获得更好的阅读体验。前言在工作和生活中,我们可能经常需要将某个程序跑在不同的CPU架构上,比如让某些不可描述的软件运行在树莓派或嵌入 ... [详细]
  • 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
    智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台 ... [详细]
  • centos7下安装docker(15.3跨主机网络-macvlan)
    除了ovrlay,docker还开发了另一个支持跨主机容器的driver:macvlanmacvlan本身是linukernel模块,其功能是允许在同一物理网卡上配置多了MAC地址,即:多 ... [详细]
  • docker整体了解
    Docker是一个基于LXC技术构建的容器引擎,基于Go语言开发,遵循Apache2.0协议开源Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移 ... [详细]
  • 不同方式实现集群的可行性 && 部分不建议踩的坑
    路标1.Systemhasnotbeenbootedwithsystemdasinitsystem(PID1).Can’toperate.2.CannotconnecttotheD ... [详细]
  • jenkins中 Slave使用Docker
    原因就不说了,网上的自动化测试Docker教程太不靠谱,还是学学官网吧。目的:在现在各种虚拟化的大条件下,还在建立N个节点机 ... [详细]
  • Ununtu 12.04 x64位安装docker
    什么是DockerDocker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 对mysql的总结与反思_一次DB故障引起的反思和MySQL Operator选型
    前言在一次数据库故障后,我们发现业务库会根据业务的等级会划分多个MySQL实例,许多业务库会同时属于一个MySQL实例,当一个库引发问题后 ... [详细]
author-avatar
yhonmen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有