docker-容器卷

本文探讨了Docker容器数据卷的原理、用途,包括数据持久化、容器间共享、生命周期管理及与主机的交互。重点讲解了如何通过`--privileged`和`volumes-from`实现数据同步,以及ro和rw规则的应用。
摘要由CSDN通过智能技术生成

29、容器数据卷是什么

挂载主机目录访问出现权限不够 加一个–privileged=true

docker容器数据

使用

容器数据卷方式完成数据的持久化重要资料backup

完全独立于容器的生存周期

30、能干什么

docker run -it --privileged=true -v /宿主机绝对路径目录:容器内目录 镜像名

产生原因

容器产生的数据不备份,容器实例删除后,数据就没了。

特点

1 可以在容器间共享和重用数据

2、卷中的更改可以实时生效

3、数据卷更改不包含在镜像更新中

4 生命周期一直到没有容器使用它为止

31、容器卷和主机互联

1 宿主vs容器之间映射添加容器卷
docker run -it privileged=true -v /宿主机绝对路径目录:容器内目录 镜像名
docker run -it privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu
docker容器内新建一个文件
cd /tmp/docker_data/
ls
touch dockerin.txt
ls
从主机查看对应目录下是否存在文件
cd /tmp/host_data/
ls
容器中写入
echo 'hello docker'>a.txt
ls  -l
cat a.txt
主机中查看并修改文件
vi a.txt
容器中再次查看文件

可以看到有变化

cat a.txt

查看是否挂载成功

docker inspect 容器id

容器和宿主机之间数据共享

停掉容器
docker stop 容器id
docker ps
主机修改文件c.txt
touch c.txt
重启docker容器
docker ps
docker start 容器id
docker exec -it 容器id /bin/bash
cd /tmp/docker_data/
ls -l

实现数据的双线同步

32 ro和rw规则

不重要

33 容器卷继承和共享

容器2继承容器1的卷规则

docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu
实际
docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
u2新建文件
touch host.txt
主机上发现也可以同步
ls -l
停掉父容器u1
结论

u2继承的是u1挂载路径的规则,至于容器u1的死活,和u2无关。

u1回来,不在期间的数据仍在同步
docker start u1
docker exec -it u1 /bin/bash
cd /tmp/u
ls -l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值