川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

Docker数据管理中的数据卷

作者:川石学院 日期:2021-10-14 14:11:50 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就来谈谈关于软件测试中的“Docker数据管理中的数据卷”。

Docker数据管理中的数据卷(图1)

  在生产环境中使用Docker时,经常需要对数据进行持久化,这就有点像Redis里面的持久性一样的,或者需要在多个容器之间在进行数据共享,这就是Docker中我们说的数据管理操作。

  容器中管理数据主要有两种方式:

  •   数据卷(Data Volumes):容器内数据直接映射到本地主机环境;

  •   数据卷容器(Data Volume Containers):使用特定容器维护数据卷;

    今天我们就先讲讲第一个“数据卷”。

  【数据卷】

  数据卷(Data Volumes)是一个可供容器使用的特殊目录,它可以将主机操作系统目录直接映射进容器,类似于Linux中的mount行为。

  数据卷可以提供很多有用的特性:

  •   数据卷可以在容器之间共享和重用,容器间传递数据将变得高效与方便;

  •   对数据卷内数据的修改会立即生效,无论是容器内操作还是本地操作;

  •   对数据卷的更新不会影响镜像,解藕开应用和数据;

  •   卷会一直存在,直到没有容器使用,可以安全地卸载它。

  目前Docker提供了三种不同的方式将数据从宿主机挂载到容器中。

Docker数据管理中的数据卷(图2)

  1. volumes

  Docker管理宿主机文件系统的一部分,默认位于/var/lib/docker/volumes目录中,这是目前使用的最多的方式。

  [root@localhost volumes]# ll

  总用量 0

  drwxr-xr-x. 3 root root 19 8月 29 15:13 037819e6f7ab2b817eddb0053b8b57084fe82ecbc7615caf6ac04cb64765533b

  drwxr-xr-x. 3 root root 19 8月 31 16:48 11ff68336fbf30bc7a19476abdffc888c8d7a49cc5a532e277d0a3cac69fa2f6

  drwxr-xr-x. 3 root root 19 8月 31 17:44 34be3ff7ac7672d347e96573b050a46d5dab7bf632d7819b098b0cf5a5eabbc5

  drwxr-xr-x. 3 root root 19 9月 16 22:56 37f2bdea4eb0de39dc2f73799a0f3acb90ce2365ec5dc7e76a7fd5a45b7069ca

  drwxr-xr-x. 3 root root 19 9月 2 15:27 38f8b80456a5fab858343d7293596fada51fa24553840a10a37c6afa5b8e5d77

  drwxr-xr-x. 3 root root 19 9月 16 23:30 3ea7a5025a95253e9425ed2d396e73220d947cef489691b05102043395eb56b3

  drwxr-xr-x. 3 root root 19 8月 31 10:55 43a32bd680508538987fce798d94b155c82e4cd5b5cf896d74aecfb1bfa0b54a

  drwxr-xr-x. 3 root root 19 8月 29 16:31 513ceee578c6ce7ca978998d42b2d7486468f86f865cb4677fc9d299c4cdfe79

  drwxr-xr-x. 3 root root 19 8月 29 16:32 9abf06d6768f8c64a61285d672a4351b8d8704baa10e4b97a19b4f737770e2a0

  drwxr-xr-x. 3 root root 19 9月 16 23:29 c2a2e7eb9131f0a98741ce058aaa03bde5b1a718b1282cc3b924170db234004b

  drwxr-xr-x. 3 root root 19 9月 16 23:07 d8dd50b9cd7bd78810fa1ca51d29b06867492a0a9c6e119a8c444dfce874279b

  drwxr-xr-x. 3 root root 19 9月 2 15:25 db3b43b75d088d4573879f5f383660bfa26489d4c54ac83d7b78541884181a9f

  drwxr-xr-x. 3 root root 19 8月 30 14:58 e985747a054dc2f884dfab78419b9d5b0f94d2c8367cc7fe8d7e16017f935953

  drwxr-xr-x. 3 root root 19 8月 29 23:07 efdb43b34e824cf6bf660e0ed20b3f0b7b5a71029f3cc0e8ce85d80b5a213324

  目前所有容器的数据都保存在这个目录下,由于没有创建指定卷,所以Docker帮默认创建了许多匿名卷。

  2. bind mounts

  表示可以存储在宿主机系统的任意位置,这种方法比较常用。但是bind mount在不同的宿主机系统时不可移植。

  3.tmpfs

  表示挂载存储在宿主机系统内存中,而不会写入宿主机的文件系统,几乎不用。

  a.创建数据卷

  Docker提供了volume子命令来管理数据卷,volume子命令的语法格式如下:

  docker volume create [OPTIONS] [VOLUME] (代

  //创建一个自宝义容器卷

  root@ubuntu:/var/lib/docker/volumes# docker volume create my-vol

  //查看所有容器卷

  root@ubuntu:/var/lib/docker/volumes# docker volume ls

  DRIVER VOLUME NAME

  local badc300c2e02888929999ee56f2653983adc52a06b62e2b86f3a2ce6228b4ae4

  local my-vol

  //查看指定容器卷详细信息

  root@ubuntu:/var/lib/docker/volumes# docker volume inspect my-vol

  [

  {

  "CreatedAt": "2021-09-26T08:17:59-07:00",

  "Driver": "local",

  "Labels": {},

  "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",

  "Name": "my-vol",

  "Options": {},

  "Scope": "local"

  }

  ]

  //删除数据卷

  docker volume rm my-vol 

  b.绑定数据卷

  定义好数据卷后,即可以创建一个使用这个数据卷的容器,下面 nginx为例,将数据卷绑定到容器中。将本地的my-vol数据卷挂载到/usr/share/nginx/html目录下。

  root@ubuntu:/var/lib/docker/volumes# docker run -it --name=test-nginx -p 80:80 -v local-test-vol:/usr/local/nginx/html nginx

  绑定完成后可以通过inspect命令来查看是否绑定成功。

Docker数据管理中的数据卷(图3)

  接下来在本地目录/var/lib/docker/volumes/local-test-vol数据卷就可以与容器中的/usr/local/nginx/html目录进行同步数据,进而达到持久化的效果。即不管是在本地数据卷中还是容器中的/usr/local/nginx/html目录中进行修改文件,两个目录的信息都可以互通。

  即使如果容器停止了,我们在本地更新文件,再将容器启动也可以实现数据同步。

关于本章节“Docker数据管理中的数据卷”的内容就给大家讲解到这里,希望对做这些工作的小伙伴有帮助~欢迎大家每天和我一起学习更多涨薪技能哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-10-14 14:11:50
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-10-14 14:11:50
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-10-14 14:11:50
  • 建筑工程专业朱同学成功转行为软件测试人!2021-10-14 14:11:50
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-10-14 14:11:50
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-10-14 14:11:50
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-10-14 14:11:50
  • 文科生转行软件测试照样拿下高薪15K!2021-10-14 14:11:50
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-10-14 14:11:50
  • 毕业1年,迷茫的他最终选择转行软件测试2021-10-14 14:11:50