当前位置: 首页 > news >正文

Docker 数据卷管理

Docker 数据卷管理指南

Docker 数据卷(Volume)是 Docker 中用于持久化存储数据的一种机制。数据卷独立于容器的生命周期,即使容器被删除,数据卷中的数据仍然保留。本文将详细介绍如何使用 Docker CLI 和 API 管理数据卷,包括创建、挂载、查看、备份、恢复和删除数据卷。


目录

  1. 数据卷的基本概念
  2. 使用 Docker CLI 管理数据卷
    • 创建数据卷
    • 挂载数据卷
    • 查看数据卷
    • 删除数据卷
    • 清理未使用的数据卷
  3. 使用 Docker API 管理数据卷
    • 创建数据卷
    • 查看数据卷
    • 删除数据卷
  4. 数据卷的高级管理
    • 备份数据卷
    • 恢复数据卷
    • 数据卷的权限管理
  5. 总结

数据卷的基本概念

  • 数据卷:Docker 管理的存储区域,通常位于 /var/lib/docker/volumes/
  • 生命周期:数据卷独立于容器,容器删除后数据卷仍然存在。
  • 用途:适合存储数据库数据、应用程序日志等需要持久化的数据。

使用 Docker CLI 管理数据卷

创建数据卷

使用 docker volume create 命令创建一个数据卷。

docker volume create my_volume

挂载数据卷

在运行容器时,使用 -v--mount 参数挂载数据卷。

使用 -v 参数
docker run -d \
  --name my_container \
  -v my_volume:/app/data \
  my_image
使用 --mount 参数
docker run -d \
  --name my_container \
  --mount source=my_volume,target=/app/data \
  my_image

查看数据卷

列出所有数据卷:

docker volume ls

查看数据卷的详细信息:

docker volume inspect my_volume

删除数据卷

删除一个数据卷:

docker volume rm my_volume

清理未使用的数据卷

删除所有未使用的数据卷:

docker volume prune

使用 Docker API 管理数据卷

Docker 提供了 REST API 来管理数据卷。以下是使用 Docker API 管理数据卷的示例。

创建数据卷

使用 POST /volumes/create 接口创建数据卷。

curl --request POST \
  --url http://localhost:2375/volumes/create \
  --header 'Content-Type: application/json' \
  --data '{
    "Name": "my_volume"
  }'

查看数据卷

使用 GET /volumes 接口列出所有数据卷。

curl --request GET \
  --url http://localhost:2375/volumes

使用 GET /volumes/{name} 接口查看数据卷的详细信息。

curl --request GET \
  --url http://localhost:2375/volumes/my_volume

删除数据卷

使用 DELETE /volumes/{name} 接口删除数据卷。

curl --request DELETE \
  --url http://localhost:2375/volumes/my_volume

数据卷的高级管理

备份数据卷

将数据卷的内容备份到主机上的一个压缩文件中。

docker run --rm \
  -v my_volume:/volume \
  -v /path/on/host:/backup \
  busybox \
  tar cvf /backup/backup.tar -C /volume .

恢复数据卷

将备份文件恢复到数据卷中。

docker run --rm \
  -v my_volume:/volume \
  -v /path/on/host:/backup \
  busybox \
  tar xvf /backup/backup.tar -C /volume

数据卷的权限管理

在挂载数据卷时,可以设置文件权限。

docker run -d \
  --name my_container \
  -v my_volume:/app/data:ro \  # 只读挂载
  my_image

总结

  • Docker CLI:提供了简单易用的命令来管理数据卷,适合日常操作。
  • Docker API:适合需要自动化管理的场景,如 CI/CD 流水线。
  • 高级管理:通过备份、恢复和权限管理,可以更好地保护和管理数据卷中的数据。

通过本文,你应该能够熟练使用 Docker CLI 和 API 管理数据卷,并根据需求进行高级管理操作。希望本文对你的学习和工作有所帮助!

相关文章:

  • Spring 如何管理 Bean 的生命周期?
  • 11--华为防火墙Easy-IP实现原理与配置全解:从“翻译官“到“流量导演“的奇幻之旅(包你看一遍全记住)
  • Django REST Framework 请求封装源码解析与实现流程
  • 1、环境初始化--Linux安装dockerCE
  • Java 集合框架:从数据结构到性能优化,全面解析集合类
  • JavaScript基础-API 和 Web API
  • HIVE安装(详细教程)
  • Python实战(4)-网络编程
  • Liunx系统Microsoft SQL Server数据库还原
  • datawhale组队学习-大语言模型-task5:主流模型架构及新型架构
  • CentOS与Rocky 命令区别
  • python如何获取html中附件链接,并下载保存附件
  • 1.向量数据库milvus standalone单机版搭建
  • MobaXterm:全能终端工具如何重新定义远程开发与运维效率?
  • Linux 常用命令 - last 【显示历史登录用户列表】
  • 在coze工作流中将数据回写到飞书表格
  • ubuntu部署运行xinference全精度对话deepseek本地部署图文教程
  • WPS宏开发手册——使用、工程、模块介绍
  • 【后端】【Django】【ORM】SearchFilter 详解
  • Hive配置JDBC连接
  • 华为鸿蒙电脑正式亮相,应用生态系统能否挑战Windows?
  • 罗氏制药全新生物制药生产基地投资项目在沪启动:预计投资20.4亿元,2031年投产
  • 四问当前旱情:还会持续多久
  • 外交部发言人就当前印巴局势答记者问
  • 怎样正确看待体脂率数据?或许并不需要太“执着”
  • 马上评|从一个细节看今年五一档电影