Docker 容器数据管理:挂载、备份、恢复

挂载、备份、恢复数据。

创建集中卷组:

docker run --name dbdata -v /dbdata centos7:file echo “Data-only container for mysql.”

挂载使用:

docker run -rt --volumes-from dbdata centos7:tar /bin/bash

cd /dbdata

touch aa bb cc db3:aa

备份:

[[email protected] backup]# docker run --name backup-file -d --volumes-from dbdata -v /backup:/backup centos7:tar tar cvf /backup/$(date +%m%d-)backup.tar /dbdata

[[email protected] backup]# ll

-rw-r--r-- 1 root root 10240 12月  2 14:48 1202-backup.tar

[[email protected] dbdata]# rm -rf *  #删除所有数据

[[email protected] dbdata]# ls

恢复:

[[email protected] dbdata]# docker run -d  --name recover-file2 --volumes-from dbdata -v /backup:/backup centos7:tar tar xvf /backup/1202-backup.tar

查看恢复结果:

[[email protected] dbdata]# ls

aa  bb  cc  db3:aa   ##数据已恢复

1、创建:挂载本地/dbdata目录创建一个名字为dbdata的数据卷容器,作为同一容器分配给其他容器使用.

2、挂载:使用其他容器使用 --volumues-from dbdata挂载数据卷容器到容器内.

3、备份:创建一个备份容器,名字为backup-file 挂载数据卷容器dbdata,然后挂载本地目录/backup到容器内,执行tar命令将数据卷容器dbdata的内容打包到/backup目录同步到本地.

4、恢复:创建容器名字为recover-file2 挂载数据卷dbdata和本地目录/backup,然后将本地目录中的备份文件1202-backup.tar 恢复到数据卷内,达到恢复的效果.

时间: 2024-10-16 10:05:15

Docker 容器数据管理:挂载、备份、恢复的相关文章

centos:解决docker容器内挂载目录无权限 ls: cannot open directory .: Permission denied

docker运行一个容器后,将主机中当前目录下的文件夹挂载到容器的文件夹后 进入到docker容器内对应的挂载目录中,运行命令ls后提示: ls: cannot open directory .: Permission denied 解决: 在docker run一个容器时,加上 --privileged=true 给容器加特权即可. 原文地址:https://www.cnblogs.com/UniqueColor/p/9318815.html

windows宿主机和docker容器设置挂载共享文件夹

docker容器内的程序经常需要访问.调用宿主机目录中的数据,每次都要导入导出非常麻烦费力. 接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中. 1. 打开Oracle VM VitualBox:  2. 点击[设置]->点击左侧的[共享文件夹]  3. 双击默认的[c/Users  \\?\c:\Users],进行编辑,这里设置D盘下的data为挂载共享目录,名称可修改,此处设为"data". 点击确定 4. 重启virtualbox虚拟机,中间有等待时间: 5.

docker容器的数据卷以及使用方式

            Docker容器的数据卷 想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载只读镜像层并在其上(即镜像栈顶部)添加一个读写层.如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该镜像重新启动时,之前的更改

修改Docker容器启动配置参数

有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker container update --restart=always 容器名字 2.直接改配置文件 首先停止容器,不然无法修改配置文件 配置文件路径为:/var/lib/docker/containers/容器ID 在该目录下找到一个文件 hostconfig.json ,找到该文件中关键字 Resta

Docker容器的数据管理

Docker容器的数据管理 什么是数据卷(Data Volume)? 数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或者多个容器提供访问 数据卷设计的目的,在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理 数据卷(Data Volume)的特点 数据卷在容器启动时初始化,如果容器使用的镜像文件在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中 数据卷可以在容器之间共

docker数据卷备份恢复以及配置桥接网络

笔记内容:docker数据卷备份恢复以及网络相关笔记日期:2018-02-06 25.9 数据卷备份恢复 25.10 docker网络模式 25.11 opration not permitted错误 25.12 配置桥接网络 25.9 数据卷备份恢复 备份: 如果数据卷容器的共享目录已经挂载到了本地宿主机的磁盘上,那么就无需进行数据卷备份.没有进行挂载到本地,而是作为共享目录的数据卷容器,就得定期将数据卷进行一个备份,不然如果数据卷被删除的话,数据也会丢失. 假设数据卷容器共享的目录是data

Docker中通过模板创建镜像,Docker容器、仓库及数据管理

1.通过模板创建镜像 (1)首先去下载一个模板 http://openvz.org/Download/templates/precreated //下载速度不快,阿铭下载了一个centos6的模板centos-6-x86-minimal.tar.gz (2)导入该镜像的命令为: cat centos-6-x86-minimal.tar.gz|docker import - centos6 (3)查看导入的镜像 docker images (4)导出镜像: 把现有镜像,导出为一个文件: docke

Docker数据卷备份恢复、桥接网络设置

1.数据卷备份恢复 备份 mkdir /data/backup docker run --volumes-from testvol -v  /data/backup/:/backup centos tar cvf  /backup/data.tar /data/ 说明:首先我们需要使用testvol数据卷新开一个容器,同时我们还需要把本地的/vol_data_backup/目录挂载到该容器的/backup下, 这样在容器中/backup目录里面新建的文件,我们就可以直接在/data/backup

Docker容器中的数据管理--RHEL7.3

容器中数据管理主要分为两种方式:数据卷 和 数据卷容器 数据卷 数据卷是一个可供容器使用的特殊目录,它绕过文件系统,类似于Linux下对目录执行mount操作 创建一个数据卷 在容器内创建数据卷挂载到/volume目录下,相当于容器间的共享目录: docker run -dti -v /volume1 --name test1 centos:ifconfig /bin/bash 将宿主机目录挂载到容器作为数据卷: docker run -dti -v /test:volume2:ro --nam