Docker数据管理

Docker数据管理

1.什么是数据卷

​ 就是将宿主机的某个目录,映射到容器中,作为数据存储的目录,我们就可以在宿主机对数据进行存储

​ 数据卷(Data Volumes):容器内数据直接映射到本地主机环境

2.数据卷特性

1)数据卷可以在容器之间共享和重用,本地与容器间传递数据更高效;

2)对数据卷的修改会立马有效,容器内部与本地目录均可;

3)对数据卷的更新,不会影响镜像,对数据与应用进行了解耦操作;

4)卷会一直存在,直到没有容器使用。

3.数据卷与目录

Docker run -itd --name 【容器的名字】 -v 【宿主机目录】:【容器目录】 【依赖镜像】【命令可选】

docker run -itd --name tmp-nginx -v /home/itcast/tmp/:/tmp-text/  nginx
4.数据卷与文件(不推荐)

注意:

1、Docker挂载数据卷的默认读写权限(rw),用户可以通过ro设置为只读,格式:[宿主机文件]:[容器文件]:ro
2、如果直接挂载一个文件到容器,使用文件工具进行编辑,可能会造成文件的改变,从Docker1.1.0起,这会导致报错误信息。所以推荐的方式是直接挂在文件所在的目录。

Docker run -itd --name 【容器的名字】 -v 【宿主机文件】:【容器文件】 【依赖镜像】【命令可选】

docker run -itd --name tmp-txt -v /home/itcast/tmp/hello.go:/nihao/nihao.sh  nginx
5.数据卷容器
5.1.创建一个数据卷容器

docker create -v 【容器数据卷目录】 --name 【容器名称】 【依赖的镜像名称 】【命令可选】

docker create -v /data-tmp  --name v-tmp   nginx
5.2.创建两个容器,同时挂载数据卷容器

docker run --volumes-from【数据卷容器的id或名字】-itd --name 【容器名字】【镜像名字】【参数可选】

docker run --volumes-from  v-tmp  -itd  --name tmp01  nginx
docker run --volumes-from  v-tmp  -itd  --name tmp02  nginx
6.Docker数据备份

流程:

1)创建一个挂在数据卷容器的容器

2)挂在宿主机本地目录作为备份数据卷

3)将数据卷容器的内容备份到宿主机本地目录挂载的数据卷中

4)完成备份操作后销毁刚刚创建的容器

docker run --rm --volumes-from [数据卷容器id/name] -v [宿主机目录]:[容器目录] [镜像名称] [备份命令]

docker run  --rm --volumes-from  v-tmp  -v /home/itcast/backup/:/backup/  nginx  tar -zcPf /backup/data.tar.gz  /data-tmp

-P:使用原文件的原来属性(属性不会依据使用者而变),恢复字段到它们的原始方式,忽略现有的用户权限屏蔽位(umask)。 加了-p之后,tar进行解压后,生成的文件的权限,是直接取自tar包里面文件的权限(不会再使用该用户的umask值进行运算),那么不加-p参数,将还要再减去umask的值(位运算的减),但是如果使用root用户进行操作,加不加-p参数都一样。

7.Docker数据还原

流程:

1)创建一个新的数据卷容器(或删除原数据卷容器的内容)

2)创建一个新容器,挂载数据卷容器,同时挂载本地的备份目录作为数据卷

3)将要恢复的数据解压到容器中

4)完成还原操作后销毁刚创建的容器

docker run --rm -itd --volumes-from [数据要到恢复的容器] -v [宿主机备份目录]:[容器备份目录] [镜像名称] [解压命令]

docker run --rm --volumes-from  v-tmp  -v /home/itcast/backup/:/backup/  nginx tar xPf /backup/data.tar.gz  -C /data-tmp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值