Docker下的数据持久化操作
环境:centos7 64bit为了解决数据持久化的问题,Docker提供了卷和卷容器机制。容器中管理数据有两种主要方式:数据卷;数据卷容器数据卷数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:数据卷可以在容器之见共享和重用对数据卷的修改会立马生效对数据卷的更新不会影响镜像卷会一直存在,直到没有容器使用数据卷的使用
·
环境:centos7 64bit
为了解决数据持久化的问题,Docker提供了卷和卷容器机制。
容器中管理数据有两种主要方式:
- 数据卷;
- 数据卷容器
数据卷
-
数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:
- 数据卷可以在容器之见共享和重用
- 对数据卷的修改会立马生效
- 对数据卷的更新不会影响镜像
- 卷会一直存在,直到没有容器使用
- 数据卷的使用,类似于Linux下对目录或者文件进行mount操作.
1.直接在容器中创建一个数据卷
docker run -it -v /dockertest centos /bin/bash
2.挂载主机目录作为数据卷
[root@VM_0_9_centos ~]# docker run -it -v /test:/dockertest centos /bin/bash
作用:
将主机中的/test目录文件挂载到容器中的dockertest文件中
容器中的目录结构,新生成了dockertest这个目录
(但貌似主机中如果不存在这个目录的话,也不会报错...)
3.数据卷容器
首先,这个玩意也是一个容器,其他的容器可以通过它达到数据共享,数据迁移的目的。
[root@VM_0_9_centos ~]# docker run -it -v /test --name dbdata1 centos
创建一个名叫dbdata1的容器,将数据卷挂载到/test下,
接下来创建两个新的容器,并且
[root@VM_0_9_centos test]# docker run -it --volumes-from dbdata1 --name db1 centos
[root@VM_0_9_centos test]# docker run -it --volumes-from dbdata1 --name db2 centos
目录结构如下:
也可以看到test文件夹
然后在
db2中做如下的修改:
[root@75ea710d224c /]# cd test
[root@75ea710d224c test]# touch simple
[root@75ea710d224c test]# ls
查看db1容器,
在db2中作出的改动可以直接在db1中看到。
更多推荐
已为社区贡献4条内容
所有评论(0)