1. 准备:
1.创建一个数据卷:
docker run -itd --name test2 -v /home/jamesz2011/data/test2:/test2 ubuntu /bin/bash
2.向数据卷容器中写入数据:
- 进入数据卷容器:
docker run exec -it test2 /bin/bash
cd test2
- 2.创建一个文件并在文件中输入“hello world”:
touch word
echo "hello world" > word
3.进入宿主机的容器挂在目录:
ls
cd data
cd test2
ls
cat word
【注意】
- 1.如果看到输出“hello world”则证明容器数据与宿主机已成功实现数据共享。
- 2.当容器被删除,宿主机的数据共享目录不会被删除。
- 3.如果需要从宿主机复制文件到宿主机的数据共享目录,需要使用sudo获取root权限执行复制添加操作。
- 4.如果新建的数据卷容器关联宿主机已有的数据共享目录,则数据共享目录中的数据会被复制到数据卷容器中 。
- 5.数据卷的权限只有rw/r,无x权限,默认rw。
2.备份数据卷容器:
- 新建一个容器【test2backup】用来备份数据卷容器test2,将数据用tar打包,存储在backup文件中,指定备份的数据卷为test2(容器中的)。
docker run -it --name test2backup --volumes-from test2 -v /home/jamesz2011/backup:/backup ubuntu tar cvf /backup/test2backup.tar /test2
或者:
- 2.查看宿主机下是否有test2backup.tar文件:
cd backup
ls
3.删除数据卷容器test1中的word文件:
cd test2
ls
rm -vf word
ls
4.将test2backup.tar中的数据还原到test2容器中【即将word文件进行恢复操作】。
sudo docker run -v /home/jamesz2011/data/test2 --name test2rec1 ubuntu /bin/bash
sudo docker run --volumes-from test2rec1 -v /home/jamesz2011/backup:/backup ubuntu tar xvf /backup/test2backup.tar
---参考:----test2必须是运行状态
sudo docker run --volumes-from test2 -v /home/jamesz2011/backup:/backup ubuntu tar xvf /backup/test2backup.tar