您的位置:首页 > 运维架构 > Docker

docker容器之数据管理

2018-01-19 08:52 621 查看

1、数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

数据卷可以在容器之间共享和重用
对数据卷的修改会立马生效
对数据卷的更新,不会影响镜像
卷会一直存在,即使挂载的数据卷的容器已经删除。
数据卷的使用,类似于 Linux 下对目录或文件进行 mount。
示例:
docker run -idt --name wyl01 -v /opt/container/:/data centos /bin/bash

docker run -itd --name wyl02 -v /opt/data centos /bin/bash

2、挂载一个主机目录作为数据卷

使用  -v  标记也可以指定挂载一个本地主机的目录到容器中去。
[root@bfd-v7 container]# docker run -idt --name wyl01 -v /opt/container/:/data centos /bin/bash

#第2步我们发现wyl01容器中并有数据
#第3步我们在本地的container目录下创建一个web.txt文件
#第4步我们在wyl01的容器中的data目录下发现也同样有一个web.txt文件。




3、数据卷容器

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。
数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的。
首先,创建一个命名的数据卷容器 wyl02,然后,在其他容器中使用  --volumes-from  来挂载 wyl02容器中的数据卷。
[root@bfd-v7 container]# docker run -itd --name wyl02 -v /opt/data centos /bin/bash
[root@bfd-v7 container]# docker run -itd --name wyl03 --volumes-from wyl02 centos /bin/bash
[root@bfd-v7 container]# docker exec wyl02 touch /opt/data/www.txt
[root@bfd-v7 container]# docker exec wyl02 ls /opt/data
[root@bfd-v7 container]# docker exec wyl03 ls /opt/data

#第1步:创建一个wyl02命名的数据卷容器
#第2步:--volumes-from  来挂载 wyl02容器中的数据卷
#第3步:查看两个容器的data目录下都没有数据
#第4步:在其中一个容器的data目录下面创建数据
#第5步:在另一个容器的data目录下面同时会生成一样的数据。



4、数据卷的备份和迁移

[root@bfd-v7 container]# docker run -itd --name wyl04 --volumes-from  wyl02  -v /opt/data/backup:/backup centos  tar cvf /opt/data/backup.tar.gz  /opt/data
506fa942b66173a27594163be918b74401a96db99ad8e42afadd38fc149cdc5b
参数说明
--volumes-from wyl02 是挂载需要备份的数据卷容器名称,它就是一个容器。
-v /opt/data:/opt/data 这是挂载主机目录到窗口中,第一个/opt/data是代表着容器的目录,第二个/opt/data是代表着主机的目录。
centos 是代表着容器的REPOSITORY的ID,这个ID可以用docker images命令查看。
tar czvf /opt/data/backup.tar.gz //opt/data 这部分放在后面,代表着容器启动成功后的命令。这部分就是对数据卷进行压缩,/sb/backup.tar.gz 这个目录是挂载的主机的目录,只要压缩到这个目录,那就相当于主机的目录也就有了相应的数据, //opt/data这个目录是挂载的数据卷容器中的目录,综合起来就是一组压缩命令,正好实现了把数据卷中的数据备份到当前主机中。

<
b2b9
/div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: