Docker Volume 理解

本文详细介绍了 Docker Volume 的管理,包括如何在 Docker 中存储数据,以及如何备份、恢复和迁移数据卷。Docker 官方推荐使用 volumes 存储容器数据,避免使用可写容器层。通过实例演示了创建 Data Container,实现数据共享,并展示了如何进行数据备份和恢复的操作流程。
摘要由CSDN通过智能技术生成

Docker Volume 理解

Manage data in Docker

根据 Docker 官方文档 Manage data in Docker 中的描述,默认情况下在 container 中创建的文件被存储在 一个可写容器层(a writable container layer) 。这意味着:

  • 当容器不存在后(rm 等操作)数据会丢失,而且容器外其他程序或容器很难使用这些数据。
  • 当容器运行时容器的可写层与宿主机紧密耦合。不容易将数据移动到其他地方。
  • 将数据写入容器可写层需要一个额外的称之为 storage driver 的系统去管理文件系统。这个 storage driver 与使用 data volume 相较而言性能较差

Docker 提供了两种存储文件到宿主机的方法

  • volumes
  • bind mounts

如果 Docker 运行在 Linux 系统中,可以使用 tmpfs mounts 。如果运行在 Windows 系统中,可以使用 named pipe

docker mount
Docker 官方建议使用 volumes 方式去存储容器数据到本地宿主机。

Backup, restore, migrate data volume

以下方法是官方给出的对 volumes 最佳的管理方案,包括备份,恢复,迁移。在该方案中官方虽然没有给定一个名词,但通常称为 Data Container 的方案,即使用一个仅包含数据、配置、静态文件的容器(该容器不会处于运行状态),去共享数据,这个 Data Container 可以认为是一个 volumes 的规范或 shape

以下所使用的 imageAlpine

  • 创建一个 Data Container 命名为 dbstore
docker run -v /dbdata --name dbstore
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值