容器中管理数据主要有两种方式:

1.数据卷:容器内数据直接映射到本地宿主机。

2.数据卷容器:使用特定容器维护数据卷

数据卷:

数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器。

数据卷特性:

1、数据卷可以在容器之间共享和重用

2、对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作

3、卷会一直存在,知道没有容器使用,可以安全的卸载它。

在容器内创建一个数据卷:
[root@CFCA ~]# docker run -it --name web -v /webapp centos

查看本地存储的位置:

[root@CFCA ~]# docker inspect a0b48a16c534

[root@CFCA ~]# cd /var/lib/docker/volumes/0e20030b3e43023df1bfbd6f18d74b7a10747a948bb46c60c9736a8d7c399d32/_data    在本地做操作,在容器里面也会有的
[root@CFCA _data]# ll
总用量 0
drwxr-xr-x. 2 root root 6 9月  25 14:07 web
挂载一个主机目录作为数据卷:

数据卷容器:

数据卷容器也是一个容器,他是专门用来提供数据卷供其他容器挂载

1、创建一个数据卷容器dbdata,创建一个数据卷挂载到/dbdata

# docker run -it -v /dbdata --name dbdata centos
[root@369c9f490580 /]#

查看dbdata目录:

[root@369c9f490580 /]# ls
anaconda-post.log  bin  dbdata  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

2、在其他容器汇总使用--volumes-from来挂载容器dbdata中的数据卷

例如创建db1和db2两个容器,并从dbdata容器挂载数据卷

[root@CFCA ~]# docker run -it --volumes-from dbdata --name db1 centos
[root@CFCA ~]# docker run -it --volumes-from dbdata --name db2 centos
此时,容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到。

使用--volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态。

如果删除了挂载的容器(包括dbdata、db1和db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器。

最新文章

  1. [bzoj1597][usaco2008 mar]土地购买 (动态规划+斜率优化)
  2. 禅道PMS兼容redmine用户认证接口
  3. Flex数据绑定陷阱(一)
  4. Struts2请求参数校验
  5. Cheatsheet: 2015 09.01 ~ 09.30
  6. ajax traditional
  7. wancms从apache迁移至nginx
  8. 词汇小助手V3.0发布了——不只是一个查单词的软件
  9. MFC对话框
  10. OUTLOOK连EXCHANGE,配置POP3时跳出错误问题
  11. 剑指offer-面试题16.反转链表
  12. C# 热水器
  13. 真实代理(RealProxy)在WCF中的运用
  14. ibatis resultMap 结果集映射
  15. webpack入门宝典
  16. bzoj 4518: [Sdoi2016]征途
  17. Dynamics CRM 报表导出EXCEL 列合并问题的解决方法
  18. 记一次mongodb聚合查询
  19. 微信小程序 初步认识一(微信运动步数)
  20. Windows编程1

热门文章

  1. How to enable remote connections to SQL Server
  2. 搭建自己的框架WedeNet(三)
  3. A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套
  4. postman传数组参数,二维数组,多维数组
  5. pyquery 库的使用
  6. export CommonJS AMD ES6
  7. dubbo和zookeeper结合使用
  8. 工作总结 [ActionName("ss123")] 更改路由中Action名称 获取或设置操作的名称
  9. mysql 中的 tinyint 字段
  10. jvm出现OutOfMemoryError时处理方法/jvm原理和优化参考