博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker容器的两类存储
阅读量:5886 次
发布时间:2019-06-19

本文共 1648 字,大约阅读时间需要 5 分钟。

《容器的两类存储:》

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

 

转载于:https://www.cnblogs.com/Leonardo-li/p/8946477.html

你可能感兴趣的文章
android app启动过程(转)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
Tengine新增nginx upstream模块的使用
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>