如何使用docker数据卷?
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,开始之前如果你有一些需要持续更新的数据并且希望持久化数据,或者需要在不同的容器之间共享数据,再者需要主机与容器之间共享数据,那么你可以使用数据卷来满足这些需求。数据卷定义数据卷是一个可供一个或多个容器
千家信息网最后更新 2025年12月03日如何使用docker数据卷?
开始之前
如果你有一些需要持续更新的数据并且希望持久化数据,或者需要在不同的容器之间共享数据,再者需要主机与容器之间共享数据,那么你可以使用数据卷来满足这些需求。
数据卷定义
数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
数据卷可以在容器之间共享和重用。
对数据卷的修改会立马生效。
数据卷默认会一直存在,即使容器被删除。
使用数据卷
数据卷有两种创建方式一是创建容器时创建数据卷,二是先创建好数据卷,在创建容器时挂载这个数据卷,两种方式均可以。
- 创建一个数据卷
docker volume create demo-datademo-data- 创建容器使用-v(--volume)参数来挂载数据卷
docker run --name demo1 -d \ -v demo-data:/var/www/html nginx:alpinedocker run --name demo2 -d \ -v demo-data:/var/www/html nginx:alpine- 列出数据卷
docker volume lsDRIVER VOLUME NAMElocal demo-data- 查看数据卷详细信息
docker volume inspect demo-data[ { "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/demo-data/_data", "Name": "demo-data", "Options": {}, "Scope": "local" }]- 删除数据卷
docker volume rm demo-dataError response from daemon: remove demo-data: volume is in use - [#省略..]注意: 由于有容器正在使用数据卷,提示无法删除数据卷。
测试数据卷
- 宿主机写入数据
hostname > /var/lib/docker/volumes/demo-data/_data/hosts.txt注意: 这个目录对应创建的 demo-data 数据卷。
- 容器写入数据
docker exec -ti demo1 sh -c 'hostname >> /var/www/html/hosts.txt'docker exec -ti demo2 sh -c 'hostname >> /var/www/html/hosts.txt'- 读取数据
cat /var/lib/docker/volumes/demo-data/_data/hosts.txt node087c60cbe6147a6bc3c00c790- 删除容器数据卷仍然保留
docker stop demo1 docker stop demo2 docker rm demo1docker rm demo2数据卷仍然存在
docker volume lsDRIVER VOLUME NAMElocal demo-data如果需要可以使用 rm 选项删除数据卷
docker volume rm demo-data数据卷已不存在
docker volume inspect demo-data []Error: No such volume: demo-data命令帮助
创建容器时挂载数据卷参数
docker run --help | grep '\-v,' -v, --volume list Bind mount a volume删除容器时一并删除数据卷参数(慎用)
docker rm --help | grep '\-v' -v, --volumes Remove the volumes associated with the container数据卷管理命令
docker volume --helpUsage: docker volume COMMANDManage volumesCommands: create Create a volume inspect Display detailed information on one or more volumes ls List volumes prune Remove all unused local volumes rm Remove one or more volumes小结
最后来总结下文章中的知识点
- 数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在
容器被删除后自动删除数据卷 。 - 如果需要在删除容器的同时移除数据卷。可以在删除容器
的时候使用docker rm -v这个命令。
参考文章
doker&k8s Qun [703906133]
数据
容器
之间
参数
命令
文章
方式
目录
不同
特殊
主机
信息
同时
周期
多个
宿主
宿主机
小结
时候
有用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
m26软件开发方法
有外国节点的服务器
dnf手游服务器系统
人民银软件开发
服务器与数据库字符集不符
it软件开发要多少学历
服务器恢复系统
软件开发需要敲的代码多吗
数据库营销 宋凤忠
浩方服务器ip
疾病临床数据库
数据库 建表为主玛取名
信息化服务器管理
数据库源代码路径如何修改
数据库 相关英语怎么说
vba 导入数据库
网络安全攻防演练由哪里组织
开展网络安全综合治理
个税申报软件执行数据库操作失败
阿里云服务器能玩什么游戏
福建项目软件开发销售电话
腾讯网络安全人
软件开发需要看学历吗
宜阳租房软件开发
互联网基金科技投资
天源迪科与华为数据库
sybase数据库查死锁
数据采集服务器的功能
新一代光网络技术叫
为什么网络安全证书不安全