Docker 容器数据卷

本文介绍了Docker数据卷的使用,包括如何通过-v挂载实现数据持久化,避免容器删除导致数据丢失。讲解了匿名挂载和具名挂载的区别,并展示了如何通过权限设置(ro/rw)控制数据读写。此外,还提到了数据卷在容器间共享及宿主机与容器间的数据同步,强调了数据卷在容器数据管理中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是容器数据卷?
数据都是在容器中,容器删除数据丢失,需求:数据持久化
mysql 容器删除了,相当于删库,mysql 的数据可以存储在宿主机
容器之间有个数据共享技术,docker 容器的数据同步到宿主机

使用数据卷

#1、使用-v 挂载 /home/ceshi 宿主机地址  /home  容器地址
docker run -it -v /home/ceshi:/home centos /bin/bash
#2、查看详细信息
docker inspect 容器id
#3、进入容器,创建文件
touch c#.txt
#4、 进入宿主机/home/ceshi
cd /home/ceshi
#5、查看新建的文件是否在宿主机中存在
ls

在这里插入图片描述在这里插入图片描述在这里插入图片描述

1、停止容器
2、修改宿主机文件
3、重新启动容器
4、查看文件是否同步

数据卷好处:我们以后只需要在宿主机上修改就好了,不需要进入容器

具名挂载,匿名挂载


#匿名挂载 -v 容器内路径 只写了容器内的路径没有写宿主机路径
docker run -d -P --name nginx01 -v /etc/nginx nginx
#具名挂载 felicia-nginx 卷名
docker run -d -P --name nginx02 -v felicia-nginx:/etc/nginx nginx
#查看卷的详细信息
docker volume inspect 卷名
#所有docker容器内的卷,没有指定目录的情况下都是在,/var/lib/docker/volumes/卷名/_data
#查看所有数据卷
docker volume ls



如何区分是具名挂载还是匿名挂载还是指定路径挂载

-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径:容器内路径 #指定路径挂载

拓展

#通过 -v 容器内路径 ro,rw 改变读写权限
#ro readonly 只读 只能从宿主机改变,容器内部无法操作
#rw readwrite 可写可读
docker run -d -P --name nginx02 -v felicia-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v felicia-nginx:/etc/nginx:rw nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值