Docker-数据卷和数据容器卷

容器中管理数据主要有两种方式:

数据卷(Data Volumes)

数据卷容器(Data Volumes Dontainers)

 

数据卷

使用-v可以挂载一个本地的目录到容器中作为数据卷。

复制代码
[root@wls12c /]$ ls /b2b
backup  prog_update  wasStatus.log

[root@wls12c /]$ docker run -d --name=tomcat -v /b2b:/test -it centos /bin/bash
f85c616bde3317c857b657355561a1cfa4203fab2b8619386435e541089bde23
[root@wls12c /]$ docker exec -it tomcat /bin/bash
[root@f85c616bde33 /]# ls /test
backup  prog_update  wasStatus.log
[root@f85c616bde33 /]# touch test/demo
[root@f85c616bde33 /]# ls /test
backup  demo  prog_update  wasStatus.log
[root@f85c616bde33 /]# exit
exit
[root@wls12c /]$ ls /b2b
backup  demo  prog_update  wasStatus.log

复制代码

可以看见容器中已经挂载了/b2b目录了,并有其中数据。

 

数据卷容器

如果容器之间需要共享一些持续更新的数据,最简单的方式就是是用户数据卷容器,数据卷容器就是一种普通容器,专门提供数据卷供其它容器挂载使用。

创建数据卷容器dbdata

[root@wls12c /]$ mkdir /dbdata
[root@wls12c /]$ docker run -it -v /dbdata:/dbdata --name dbdata centos
[root@07e4ad5587e1 /]

创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷

[root@wls12c /]$ docker run -it --volumes-from dbdata --name db1 centos
[root@wls12c /]$ docker run -it --volumes-from dbdata --name db2 centos

这样三个容器任何一个容器在该目录下写入,其它容器都能看见。

 

备份

备份dbdata数据卷容器中的数据到主机的当前目录。

复制代码
[root@wls12c /]$ docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar zcf /backup/backup.tar.gz /dbdata
tar: Removing leading `/' from member names
[root@wls12c /]$ ls
b2b            boot    dev   lib         media  net   root     srv   tmp
backup.tar.gz  cgroup  etc   lib64       misc   opt   sbin     sys   usr
bin            dbdata  home  lost+found  mnt    proc  selinux  test  var
[root@wls12c /]$ tar -tvf backup.tar.gz 
drwxr-xr-x root/root         0 2016-08-26 10:51 dbdata/
-rw-r--r-- root/root         0 2016-08-26 10:40 dbdata/demo
-rw-r--r-- root/root         6 2016-08-26 10:48 dbdata/test.txt
-rw-r--r-- root/root         0 2016-08-26 10:51 dbdata/hello
复制代码

 

恢复

创建一个带有数据卷的容器

[root@wls12c /]$ docker run -v /dbdata/dbdata --name db centos /bin/bash

恢复

[root@wls12c /]$ docker run --volumes-from db -v $(pwd):/backup  centos tar xf /backup/backup.tar.gz

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值