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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探