码迷,mamicode.com
首页 > 其他好文 > 详细

docker-4.数据管理

时间:2018-02-15 14:16:47      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:数据管理   run   touch   重用   class   更新   ack   ubuntu   vol   

数据卷是一个可供一个或多个容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:

  • 数据卷可以在容器之间共享和重用
  • 对数据卷的修改会立马生效
  • 对数据卷的更新,不会影响镜像
  • 数据卷默认会一直存在,即使容器被删除

 

挂载一个主机目录作为数据卷

把主机/data/data目录挂载到Ubuntu的/home目录

docker run -it -v /data/data:/home:ro ubuntu

-v标记一个数据卷并挂载到容器里

docker挂载数据卷的默认权限是读写(rw),  :ro指定只读权限

 

数据卷容器

数据卷容器 , 就是一个普通的容器 ,专门用来提供数据卷供其它容器挂载

创建数据卷容器data,并创建数据卷挂载到/data

docker run -it -v /data --name data ubuntu

root@5e7b3959c104:~# touch /data/test

创建新容器挂载data容器中的数据卷

docker run -it --volumes-from data --name server01 ubuntu

root@b762422e35d4:/data# ls /data/

test

#--volumes-from参数可多次使用

 

由于

  • 数据卷默认会一直存在,即使容器被删除

删除与容器关联的数据卷

docker rm -v data

 

数据卷备份

创建一个加载data容器卷的容器,并从主机挂载当前目录到容器的/backup目录

docker run --volumes-from data -v $(pwd):/backup --name server02-backup ubuntu \

>  tar czvf /backup/backup.tar /data/

 

恢复

创建带有空数据卷的容器

docker run -v /data --name server03 ubuntu

然后创建另一个容器,挂载 server03 容器卷中的数据卷,并解压备份文件到挂载的容器卷

docker run --volumes-from server03 -v $(pwd):/backup busybox \

> tar xzvf /backup/backup.tar

验证:

docker run --volumes-from server03 busybox /bin/ls /data

docker-4.数据管理

标签:数据管理   run   touch   重用   class   更新   ack   ubuntu   vol   

原文地址:https://www.cnblogs.com/liang-yao/p/8449461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!