首页 > 其他 > 详细

数据卷与数据卷容器

时间:2019-08-07 11:55:50      阅读:89      评论:0      收藏:0      [点我收藏+]

1.什么是数据卷:

  数据卷设计的目的,在于数据的永久化,他完全独立于容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。

2.数据卷的特点:

  1.数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中。

  2.数据卷可以在容器之间共享重用

  3.可以对数据卷里的内容直接修改

  4.数据卷的变化不会影响镜像的更新

  5.卷会一直存在,即使挂载数据卷的容器已经被删除

3.使用-v实现数据卷的挂载:

gmh@tfubuntu:~$ mkdir vlu
gmh@tfubuntu:~$ cd vlu/
gmh@tfubuntu:~/vlu$ touch hostm
gmh@tfubuntu:~/vlu$ docker run --name ubun -v /home/gmh/vlu/:/datavlo -it ubuntu:latest 
root@70e23b2bb849:/# ls
bin  boot  datavlo  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@70e23b2bb849:/# ls datavlo/
hostm
##可以看到vlu已经被挂载到容器的datavlo,相应的hostm也存在
root@70e23b2bb849:/# cd datavlo/
root@70e23b2bb849:/datavlo# touch container
##在容器内创建文件container 
gmh@tfubuntu:~/vlu$ ls
container  hostm
##可以看到vlu也相应的存在container 

4.使用daokerfile创建带有volumes的镜像:

  通过daokerfile创建的带有volumes的镜像创建的容器会自动将volumes的目录挂载到宿主机的指定目录,可通过docker inspect查看volumes属性看到。

技术分享图片

docker build -t ubunut/dockerfile .
##.表示当前路径下的Dockerfile
##-f :指定要使用的Dockerfile路径
##docker build -f /home/gmh/vlu/df -t ubuntu:df .

技术分享图片

进入容器可以看到容器内创建了想赢得挂载目录

技术分享图片

通过docker inspect uf查看挂载目录

技术分享图片

5.数据卷容器

  命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的这个容器成为数据卷容器

技术分享图片

使用数据卷挂载数据实际上这个数据卷容器所起到的作用仅仅是将数据挂载的配置传递到挂载了这个数据卷容器的容器中。所以在docker中如果一个数据卷还在被容器使用,那么它就会一直存在。

 6.数据卷容器的备份与还原

技术分享图片

将数据卷容器的挂载目录通过新容器的挂载目录打包到本地

技术分享图片

还原同理:把压缩换成解压即可

 

数据卷与数据卷容器

原文:https://www.cnblogs.com/answerThe/p/11314204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!