docker容器的数据管理-数据卷容器

docker容器的数据管理

一:数据卷实现数据的永久化,完全独立于容器的生存周期。
数据卷可以在容器之间共享和重用
可以对数据卷里的内容直接进行修改
数据卷的变化不会影响镜像的更新
卷会一直存在,即使挂载数据卷的容器已经被删除

数据卷的使用

为容器添加数据卷
docker run -v 主机目录:容器目录 -it centos /bin/bash/

设置数据卷访问权限为只读
docker run -v 主机目录:容器目录:ro -it centos /bin/bash/

使用dockerfile构建包含数据卷的镜像
dockerfile指令:
VOLUME [“目录”] 目录:例如 /data
使用dockerfile创建的数据卷不能直接映射主机中的目录,而是在使用
dockerfile创建的镜像运行容器时,在主机相应目录下创建随机目录名的目录。
所以使用同一个镜像创建的不同容器,数据卷在主机中映射的目录也不一样。

二:数据卷容器:挂载了数据卷的容器,叫做数据卷容器。其它容器通过挂载这个容器实现数据共享。

先运行一个挂载了数据卷的容器(sjj-jingxiang为:使用dockerfile构建的包含数据卷的镜像)
docker run -it --name sjjrq sjj-jingxiang

运行一个容器并挂载刚才运行的数据卷容器(使用–volumes-from参数)
docker run -it --name ceshi1 --volumes-from sjjrq centos /bin/bash/

再运行一个容器并挂载刚才运行的数据卷容器(使用–volumes-from参数)
docker run -it --name ceshi2 --volumes-from sjjrq centos /bin/bash/
这样容器ceshi1和ceshi2就共享使用相同的数据卷,实现数据共享。
现在即使删除数据卷容器sjjrq,ceshi1和ceshi2这两个容器中的数据卷依然存在并可用。

三:docker数据卷的备份和还原

备份方法:运行一个容器,通过–volumes-from参数挂载需要备份的容器的数据卷,再通过-v参数挂载一个映射
到主机本地备份目录的数据卷,并运行tar或cp命令,把数据卷中的数据备份到备份目录。
docker run --volumes-from ceshi1 -v /home/cs/beifen:/backup --name beifenceshi centos tar cvf /backup/bf.tar /shujujuanmulu
参数说明:
ceshi1:之前运行的挂载了数据卷的容器,现在要备份数据卷中的数据
/home/cs/beifen:主机本地备份目录
/backup:容器中的备份目录
/shujujuanmulu:要备份的容器中的数据卷目录

还原方法:使用解压缩或cp命令
docker run --volumes-from ceshi1 -v /home/cs/beifen:/backup --name beifenceshi centos tar xvf /backup/bf.tar /shujujuanmulu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值