文件拷贝、数据卷
文章目录
一、容器文件拷贝
创建一个nginx容器,将容器里的nginx.conf文件拷贝到物理机
docker pull nginx
docker run -it --name web nginx
docker cp web:/etc/nginx/nginx.conf .
将物理机的fstab文件拷贝到容器
docker cp /etc/fstab web:/root
二、使用数据卷容器实现容器文件共享
在物理机中添加一块5G的磁盘
分区格式化后挂载到/dockerdata目录
mkfs.ext4 /dev/sdc1
mkdir /dockerdata
mount /dev/sdc1 /dockerdata
创建数据卷容器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
测试物理机、c1、c2的数据是否一致
docker exec -it c1 touch /datavolume/c1.txt
docker exec -it c2 touch /datavolume/c2.txt
touch /dockerdata/local.txt
ls /dockerdata/
三、数据的备份与恢复
完成第二个实验中c1、c2与物理机共同的存储空间备份操作与数据恢复操作,流程需要与实验手册中的一致。
先理清思路
(因为是练习,必须通过容器来互相操作)
-
容器convol、c1、c2已做好(工具人convol,惨)
-
1.使用容器c3通过容器convol将物理机/dockerdata备份到备份目录/backup(工具人c3,好惨)
-
2.使用容器convol2映射物理机恢复目录/recover
-
3.使用容器c4挂在/backup通过容器convol2将备份压缩包恢复到物理机/recover(工具人convol2、c4,惨)
备份数据
docker run --volumes-from convol \
-v /backup:/backup \
--name c3 centos:7 \
tar cvf /backup/cvf.tar /datavolume
恢复数据
数据卷容器convol2
docker run -itd --name convol2 -v /recover:/recover centos:7 /bin/bash
容器c4
docker run -it --name c4 \
--volumes-from convol2 \
-v /backup:/backup centos:7 \
tar xf /backup/cvf.tar -C /recover