DockerVolume是什么

本篇内容主要讲解“Docker Volume是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker Volume是什么”吧!

成都创新互联公司专注于博爱企业网站建设,响应式网站设计,商城建设。博爱网站建设公司,为博爱等地区提供建站服务。全流程定制网站设计,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

一:简介
Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载镜像层并在其上添加一个读写层.如果运行中的容器修改了现有的一个已存在的文件,那该文件将会从读写层下的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失.在Docker中,只读层以及在顶部的读写层的组合被称为Union FIle System(联合文件系统).

为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念.简单来说,Volume就是目录或者文件,它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上.

二:数据卷

1.映射本地服务器的目录 到 容器的/data目录下面
docker run -ti --name myCentos -v /data  centos:latest /bin/bash

docker inspect myCentos

查看结果  本地服务器目录/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data  被映射到了容器的/data目录下面

点击(此处)折叠或打开

  1. "Mounts": [

  2.             {

  3.                 "Name": "f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257",

  4.                 "Source": "/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data",

  5.                 "Destination": "/data",

  6.                 "Driver": "local",

  7.                 "Mode": "",

  8.                 "RW": true,

  9.                 "Propagation": ""

  10.             }

  11.         ]

2.容器/data目录下面的变动信息,在本地服务中都可以看的到。

3.该-v命令  等同于Dockerfile 文件中的  VOLUME  /data命令

4.挂载本地服务器指定目录到容器目录中(这是Dockerfile文件中无法实现的)

docker run -ti --name myCentos3 -v /data/docker:/data/docker  centos:latest /bin/bash

三:数据共享&数据卷容器

docker run -ti --name myCentos4 --volumes-from myCentos3  centos:latest /bin/bash

docker run -ti --name myCentos5 --volumes-from myCentos3  centos:latest /bin/bash   VOLUME /data

myCentos4 ,myCentos5 共享容器myCentos3 的数据卷,  myCentos3 是一个专门的数据卷容器。

常见的使用场景是使用纯数据容器来持久化数据库,配置文件或者数据文件等。 数据卷容器不需要启动即可以用来使用。

四:利用数据卷容器对其中的数据卷进行备份和恢复,以实现数据的迁移

备份:
docker run --name myCentos5 --volumes-from myCentos3 -v /backup:/backup  centos:latest tar czvf /backup/backup.tar /data/docker

恢复:
docker run --name myCentos6 -v /data/docker  centos:latest  /bin/bash (创建一个带有数据卷的容器)

docker run --name myCentos7 --volumes-from myCentos6  -v /backup:/backup  centos:latest  tar xzvf  /backup/backup.tar 

mv . /data/docker

五:删除数据卷容器

docker rm -v

到此,相信大家对“Docker Volume是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前题目:DockerVolume是什么
分享URL:http://hbruida.cn/article/jjdeds.html