zoukankan      html  css  js  c++  java
  • Docker入门之五数据管理

    在Docker使用过程中,需要对数据进行持久化或需要在多个容器之间进行数据共享,就会涉及容器的数据管理操作。主要有两种方式:1.数据卷 2.数据卷容器。

    一、数据卷

    数据卷是一个可供容器使用的特殊目录,将主机操作系统目录直接映射进容器。它可以提供很多特性:

    1.数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便。

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

    3.对数据卷的更新不会影响镜像,解耦了应用与数据。

    4.卷一直存在,直到没有容器使用,可以安全的卸载它。

    1).挂载主机目录作为数据卷

    这里先在E:docker est目录下创建两个文件1.txt、2.log

    docker run -d -it --name=test -v E:/docker/test:/test ubuntu /bin/sh

    进入容器打开bin/sh的目录,会发现有一个test的文件夹,打开test文件夹可以看到有上面的两个文件。

    docker exec -it ef6a9a5f7d7d  /bin/sh

    然后在1.txt中输入些内容,然后再次打开可以看到容器中的1.txt也更新了。

    2).在容器内创建一个数据卷

    下面是创建了一个name=cuiywtest的容器,并创建了一个数据卷cuiywtest在bin/sh下。可以在下面的截图中看到cuiywtest目录。

    docker run -d -it --name=cuiywtest -v /cuiywtest ubuntu /bin/sh

    二、数据卷容器

    接着上面的来做,上面创建了一个test的容器,挂载了本地的目录E:docker est,下面的语句创建了两个容器 db1 db2 ,同时都挂载了test容器。然后修改了1.txt的内容,增加了字符串cuiyw.在db2容器中可以看到已经修改的内容。

    docker run -it --volumes-from test --name db1 ubuntu /bin/sh
    docker run -it --volumes-from test --name db2 ubuntu /bin/sh

    然后再次进入db1容器,查看下db1容器下的1.txt的内容是否改变了。可以看到db1容器中的1.txt也更改了。

  • 相关阅读:
    Asp.Net页面导入和导出到EXCEL
    ASP.NET打包安装的制作方法
    asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
    aspx页面Repeater嵌套Repeater
    JAVASCRIPT校验大全
    SQL语句导入导出大全
    从DataView中生成Excel报表的方案
    用ajax实现dropdownlist多级联动实例
    ASP.NET结合存储过程写的通用搜索分页程序
    C#程序调用外部程序
  • 原文地址:https://www.cnblogs.com/5ishare/p/7631508.html
Copyright © 2011-2022 走看看