Docker基础学习(7)-数据卷

文件拷贝、数据卷

一、容器文件拷贝

创建一个nginx容器,将容器里的nginx.conf文件拷贝到物理机
docker pull nginx
docker run -it --name web nginx

docker cp web:/etc/nginx/nginx.conf .

image-20200427112854927

将物理机的fstab文件拷贝到容器
docker cp /etc/fstab web:/root

image-20200427113150372

二、使用数据卷容器实现容器文件共享

在物理机中添加一块5G的磁盘
分区格式化后挂载到/dockerdata目录
mkfs.ext4 /dev/sdc1
mkdir /dockerdata
mount /dev/sdc1 /dockerdata

image-20200427114034244

创建数据卷容器convol,使用/dockerdata目录

数据卷容器是一个提供存储的容器,专门提供数据卷给其他容器挂载,用于多个容器间的数据共享

docker run -itd --name convol -v /dockerdata:/datavolume centos:7 /bin/bash
创建c1和c2容器,使用convol数据卷
docker run -itd --name c1 --volumes-from convol centos:7 /bin/bash
docker run -itd --name c2 --volumes-form convol centos:7 /bin/bash

image-20200427135225561

测试物理机、c1、c2的数据是否一致
 docker exec -it c1 touch /datavolume/c1.txt
docker exec -it c2 touch /datavolume/c2.txt
touch /dockerdata/local.txt
ls /dockerdata/

image-20200427135340247

三、数据的备份与恢复

完成第二个实验中c1、c2与物理机共同的存储空间备份操作与数据恢复操作,流程需要与实验手册中的一致。

先理清思路

(因为是练习,必须通过容器来互相操作)

  • 容器convol、c1、c2已做好(工具人convol,惨)

  • 1.使用容器c3通过容器convol将物理机/dockerdata备份到备份目录/backup(工具人c3,好惨)

  • 2.使用容器convol2映射物理机恢复目录/recover

  • 3.使用容器c4挂在/backup通过容器convol2将备份压缩包恢复到物理机/recover(工具人convol2、c4,惨)

image-20200427144155721

备份数据
docker run --volumes-from convol \
-v /backup:/backup \
--name c3 centos:7 \
tar cvf /backup/cvf.tar /datavolume

image-20200427145751978

恢复数据

数据卷容器convol2

docker run -itd --name convol2 -v /recover:/recover centos:7 /bin/bash

image-20200427151014443

容器c4

docker run -it --name c4 \
--volumes-from convol2 \
-v /backup:/backup centos:7 \
tar xf /backup/cvf.tar -C /recover

image-20200427151219285

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值