zoukankan      html  css  js  c++  java
  • docker的数据管理

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

    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命令来指定同时删除关联的容器。

  • 相关阅读:
    Qt 错误汇集贴
    转:Qt编写串口通信程序全程图文讲解
    转:QT 的点点滴滴 错误总结
    转:Qt项目中遇到的一些小问题汇总
    转:AM335X 启动流程
    基于Xilinx Zynq的计算处理平台
    基于英伟达Jetson TX1的GPU处理平台
    基于6U VPX的 SRIO 接口, 和PCIe 接口的msata 固态存储卡
    国芯网 邀请国产芯片原厂入驻商城
    295-Xilinx Kintex-7 X7K325T的半高PCIe x4双路万兆光纤收发卡
  • 原文地址:https://www.cnblogs.com/winter1519/p/9699115.html
Copyright © 2011-2022 走看看