docker数据卷容器 之前我们已经了解过了docker的数据卷,接下来我们在了解学习一下docker的数据卷容器,docker的数据卷容器 顾名思义就是使用docker容器来存储数据。 首先,docker的数据卷容器会降低I/O性能,如果可以的话,还是用本地数据卷存储数据比较方便。 首先我们先生成创建一个数据卷容器: docker run -it -v /data --name data centos 可以看到系统的启动是秒及的,运行整个命令会自动进入容器, 此时就会在根目录下生成一个data的目录。 cd / cd data vim data.txt 并写入内容data。 然后保存退出。 docker run -it --volumes-from data --name data1 centos docker run -it --volumes-from data --name data2 centos 此时我们会看到在data1和data2容器中都会自动生成一个data目录,而这个目录中的内容正是刚才生成的data容器 中的目录。 #二.docker数据卷容器的状态对挂载的影响 刚才我们测试的都是docker数据卷容器在运行状态,但是如果docker数据卷容器在关闭状态能不能挂载呢,我们测试 一下: docker run -it --volumes-from data --name data6 centos 经常测试,我们发现docker数据卷容器在关闭状态下也是可以挂载的。 我们再创建个文件: touch 1 可以看到不仅可以挂载,而且这个数据卷容器目录也是可以被更改的,也就是说即使数据卷容器被停止了,这个数据卷 容器仍然可以被使用。 #三.容器的级联挂载 此时因为我们的data1已经挂载上数据卷容器data了,我们再启动另外一个容器看看能不能改在data1. docker run -it --volumes-from data1 --name data3 centos 此时发现data数据卷也被挂载上了,也就是说docker数据卷容器是可以级联挂载的。 #四.同时挂载多个数据卷容器 我们在创建一个数据卷容器,名字为data01,数据卷容器内的目录为/data01目录: docker run -it -v /data01 --name data01 centos 然后再启动另外一个容器data4将这两个数据卷容器都重新挂载一下: docker run -it --volumes-from data --volumes-from data01 --name data4 centos 此时可以看到这两个不同名的数据卷容器全部都挂载上了。 #五.同名数据卷容器挂载时的覆盖问题 假如我们再创建一个数据卷容器,名字为data02,数据卷容器内的目录也是/data目录: docker run -it -v /data --name data02 centos 并在目录下创建一个data02.txt的文件: 此时再启动一个容器data5重新挂载一下: docker run -it --volumes-from data --volumes-from data02 --name data5 centos 此时,可以看到只生成挂载了一个/data目录,而且这个目录是以后面挂载的这个数据卷容器为主。 #六.删除容器对数据卷容器的影响 当我们的容器使用完成并停止以后,为了避免容器仍然占用一定的系统资源,往往需要将整个容器删除, 但是我们还希望保留原来容器所运行的数据。 我们可以测试一下: 我们在data1容器中创建一个2文件,停止并删除容器data1。 此时在数据卷容器data中仍然可以看到2文件,也就是说数据卷容器可以持久化保存数据。
docker数据卷容器
猜你喜欢
转载自www.cnblogs.com/fengjunhua/p/8984557.html
今日推荐
周排行