zoukankan      html  css  js  c++  java
  • docker容器的两类存储

    《容器的两类存储:》

    1.Storage driver

    (container层的存储方式:无状态的应用,不需要持久化的数据,随时可以从镜像中创建,容器本身的存储形式,冷数据)

     

    使用环境:

    centos7——overlay

    centos6——mapper

    aufs——ubuntu

    btrfs——suse

    vfs

    xfs

     

    docker info

    查看存储驱动

     

    2.Data Volume

    (container数据同步host的方式:有状态的数据,需要进行持久化操作,不可以再次创建,属于热数据,数据的存储形式,容器消失,数据不会消失,)

    本质上是docker host上的目录或者文件,能够直接挂载到文件系统中。

     

     

    3.判断冷热数据:

    database软件  vs database数据

    web应用       vs web日志

    前者是冷数据,后者是热数据

    前者会被镜像里用,后者要从容器里拿出来的

     

     

    4.volume没办法限制/配额(root)

    注意:由于权限问题,没办法限制容量,同步数据,容器里多大的容量到物理机就是多大的容量。

     

    5.两类存储:

    (1)bind mount:

    将本地目录/文件映射到容器内

    ****把本地映射到容器内******:

    用法:-v

     

    如:

    mkdir /root/htdocs

    cd htdocs

    vim index.html

    this is docker host web server

    映射:

    docker run -d -p 8090:80 -v  /root/htdocs/:/usr/local/apache2/htdocs httpd

    验证:

    elinks http://192.168.6.110:8090

     

    修改htdocs/index.html

    this is docker host web server lpc lpc

     

    elinks http://192.168.6.110:8090

    验证:就是可以与容器共享数据

     

    容器没了,数据还在

     

    设置只读权限:容器内无法改变数据,只能在host主机上进行修改

    docker run -d -p 80:80 -v /root/htdocs:/usrlocal/apache2/htdocs:ro  httpd

     

     

    应用场景:

    比如说一个新闻网站,只需要在物理机的共享目录修改,容器会立马生效,或者是容器里的mysql的数据放到这个共享目录里,更方便数据的备份和迁移。

     

     

    (2)managed volume:

    不需要指定源,需要指定挂载点

    默认的源在:/var/lib/docker/volumes/

    ******把容器内映射到本地*******

     

    1.运行两个容器,并进行volume卷挂载

    docker run -d --name web -p 80:80 -v /usr/local/apache2/htdocs httpd

    docker run -d --name web -p 8888:80 -v /usr/local/apache2/htdocs httpd

    docker ps

    2.查看web的volume的具体情况

    docker inspect web

     

    3.根据2查出的路径查看源挂载点的目录下有什么

     

    ls -l /var/lib/docker/volumes/

    f51e08fe91a0398b85c57fa701f11d5f54760223e82bfa9688b10803e43e52c3/_data

    4.看是否与容器中的一致

    cat /var/lib/docker/volumes/

    f51e08fe91a0398b85c57fa701f11d5f54760223e82bfa9688b10803e43e52c3/_data

    /index.html

    5.查看docker卷

    docker volume ls

     

  • 相关阅读:
    Linux上查找
    Linux进程
    Linux重定向
    Linux上常用的基本命令
    LInux上返回到切换目录前的目录
    【网络知识之一】4/7层网络模型
    【操作系统之十五】iptables黑白名单、自定义链、网络防火墙、常用动作
    【操作系统之十四】iptables扩展模块
    【操作系统之十三】Netfilter与iptables
    【操作系统之十二】分支预测、CPU亲和性(affinity)
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8946477.html
Copyright © 2011-2022 走看看