热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据卷容器及数据迁移

数据卷是供一个或多个容器使用的特殊目录,该目录利用容器的ufs文件系统为容器提供一些稳定的特性或数据共类似于linux系统下的mount(挂载命令&#x

  数据卷是供一个或多个容器使用的特殊目录,该目录利用容器的ufs文件系统为容器提供一些稳定的特性或数据共

类似于linux系统下的mount(挂载命令)

 

数据卷的特点

数据卷可以在容器之间共享和重用对数据卷的修改立马会生效对数据卷的更新不会影响镜像卷会一值存在,直到没有容器使用

 

实例--创建数据卷

# -v 创建数据卷
[root@docker ~]# docker run -ti -v /test centos:latest /bin/bash
[root@b67fa87fa0ef /]# cd /
[root@b67fa87fa0ef /]# ls
anaconda-post.log dev home lib64 mnt proc run srv test usr
bin etc lib media opt root sbin sys tmp var

# 将本地的目录挂载到容器中(此处写绝对路径)

[root@docker ~]# docker run -it --name gz -v /root/s_test:/root/d_test centos:latest /bin/bash

 

数据卷容器----专门提供数据卷的容器

[root@docker ~]# docker run -it -v /datastorage --name datac1 centos:latest
[root@2472d6fd6c0e /]# ls
anaconda-post.log datastorage etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
[root@2472d6fd6c0e
/]#

挂载数据卷容器中的数据卷

[root@docker ~]# docker run -it --volumes-from datac1 --name testdata centos:latest
[root@a8aeac7f6f1a /]# ls
anaconda-post.log bin datastorage dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@a8aeac7f6f1a
/]#

 

原理:

  将数据卷容器相应数据卷进行备份,然后将备份文件保存起来,

在有需要的时候再将备份文件恢复为原来的数据卷,数据卷里面的内容要完整保存

 

1.创建一个新容器挂载数据卷容器的数据卷并压缩数据卷

[root@docker ~]# docker run -it --volumes-from datac1 --name bk -v ${PWD}:/backup centos:latest tar cvf /backup/test.tar /datastorage
tar: Removing leading `/' from member names
/datastorage/
/datastorage/a.txt
[root@docker ~]# ls
abc.txt busybox.gz docker-engine-selinux-1.12.1-1.el7.centos.noarch.rpm s_test
build docker
-engine-1.12.1-1.el7.centos.x86_64.rpm docker_images.zip test.tar
[root@docker ~]# tar tf test.tar
datastorage/
datastorage
/a.txt

2.恢复

[root@docker ~]# docker run -it -v ${PWD}:/hf --name hf centos:latest
[root@0f445001413a /]# ls
anaconda-post.log bin dev etc hf home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@0f445001413a
/]# cd hf
[root@0f445001413a hf]# ls
abc.txt busybox.gz docker-engine-selinux-1.12.1-1.el7.centos.noarch.rpm s_test
build docker
-engine-1.12.1-1.el7.centos.x86_64.rpm docker_images.zip test.tar
[root@0f445001413a hf]
# tar -xf test.tar
[root@0f445001413a hf]# ls
abc.txt busybox.gz docker-engine-1.12.1-1.el7.centos.x86_64.rpm docker_images.zip test.tar
build datastorage docker
-engine-selinux-1.12.1-1.el7.centos.noarch.rpm s_test
[root@0f445001413a hf]
#

 

转:https://www.cnblogs.com/ray-mmss/p/10617896.html



推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 容器管理与容器监控influxDB
    容器管理与容器监控-influxDB什么是influxDBinfluxDB安装(1)下载镜像(2)创建容器(3 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
author-avatar
N021039
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有