76.[Docker]容器的数据管理

本文详细介绍了Docker数据卷的使用,包括如何添加数据卷、访问数据卷、使用本机路径作为数据卷、挂载共享卷以及卷标签。还讨论了数据卷容器的创建和使用,以及如何进行数据卷的备份、恢复和迁移。此外,提到了数据卷生命周期与容器独立,以及在多个容器间共享数据卷时需要注意的并发写入问题。
摘要由CSDN通过智能技术生成

转载请注明出处:http://blog.csdn.net/a464057216/article/details/73469094

后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
在这里插入图片描述

容器内管理数据或容器间共享数据有两种方式:

  • 数据卷
  • 数据卷容器

数据卷

数据卷是一个有别于UnionFS(联合文件系统,Union File System)、可以供一个或多个容器使用的特定目录,用于数据持久化或数据共享。

  • 数据卷在容器创建时初始化。如果容器内的镜像在挂载点包含数据,这些数据在卷初始化时会被拷贝到新卷中(但是挂载点是主机路径时不适用,挂载宿主机目录时,宿主机目录中的内容会覆盖原挂载点中的数据)。
  • 数据卷可以在容器间共享和重用。
  • 对数据卷的改动直接生效。
  • 镜像更新不会包含数据卷的更新。
  • 容器被删除后,其使用的数据卷仍然存在,即数据卷的生命周期与容器的生命周期无关,也不会有自动垃圾回收机制。

添加数据卷

使用docker createdocker run命令的-v参数可以为容器添加数据卷,可以多次使用-v参数挂载多个数据卷,比如:

# Written by: CSDN - Mars Loo的博客
$ docker run -d -P --name web -v /webapp training/webapp python app.py
324aff2f4b74482a5988157ee28c2f088ea3d688f1eb1063c3ea5e0d56d6a22b

在容器内部添加/webapp的数据卷。在Dockerfile中使用VOLUME指令添加一个或多个数据卷。

访问数据卷

上面添加的/webapp卷是容器内的文件系统,通过docker inspect <container-name>可以查看其映射的宿主机文件系统位置:

# Written by: CSDN - Mars Loo的博客
$ docker inspect web

这里写图片描述

Source表示宿主机位置,Destination表示容器内的位置,"RW": true表示数据卷是可读写的。

本机路径作为数据卷

# Written by: CSDN - Mars Loo的博客
$ docker run -d -P --name web -v /home/mars/webapp:/webapp training/webapp python app.py
ba6bf
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值