zoukankan      html  css  js  c++  java
  • docker数据卷(转)

    原文地址:http://www.cnblogs.com/zydev/p/5809616.html

    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 /]$ 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
  • 相关阅读:
    Tempter of the Bone
    CODE[VS]1160 蛇形矩阵
    CODE[VS] 1205 单词翻转
    CODE[VS] 1204 寻找子串位置
    a little sweet~
    我多喜欢你,你会知道
    P1474 货币系统 Money Systems
    P1096 Hanoi双塔问题
    P1209 [USACO1.3]修理牛棚 Barn Repair
    下一秒
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/6813306.html
Copyright © 2011-2022 走看看