docker容器中管理数据两种方式:
1、数据卷(Data Volumes)
2、数据卷容器(Data Volume Dontainers)
一、数据卷
特性:
1、数据卷可以在容器之间共享和重用
2、对数据卷的修改会立马生效
3、对数据卷的更新,不会影响镜像
4、数据卷一直存在,直到没有容器使用
> docker run -ti -v /logs centos:latest /bin/bash
-v标记在容器内创建一个数据卷,多次使用-v可以创建多个数据卷
也可以挂载本地目录到容器中作为数据卷
> docker run -ti -v /data:/data centos:latest /bin/bash
也可以挂载单个文件到容器中作为数据卷
> docker run -ti -v ~/.bash_history:/.bash_history centos:latest /bin/bash
二、数据卷容器
用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。
数据卷容器就是一个普通的容器,只是它专门提供数据卷供其他容器挂载使用。
1、先创建一个名为dbdata的数据卷容器,并创建一个数据卷/dbdata
> docker run -ti -v /dbdata --name dbdata centos:latest
2、分别创建两个容器db1和db2
> docker run -ti --volumes-from dbdata --name db1 centos:latest > docker run -ti --volumes-from dbdata --name db2 centos:latest
3、这时,三个容器,任何一方有文件写入,其他容器都可看到
可以多次使用--volumes-from参数来从多个容器挂载多个数据卷。