Docker 底层存储结构

简介: 本文主要讲述,Docker 底层数据存储结构介绍

Docker 底层存储结构


常见问题


  • 基于镜像A创建镜像B的时候是否会拷贝A镜像中的所有文件?没有拷贝、删除镜像只是删除了引用


  • 基于镜像创建容器时只会拷贝共享中所有文件至容器底层 ?


  • 容器与镜像在结构上有什么区别?


镜像的存储结构


  • 查看引用关系


docker history ssm_nginx:latest


  • 存储信息


# 查询所有的镜像
docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssm_nginx           latest              7f48053b7f39        43 minutes ago      127MB
# 查询镜像的详细信息
docker inspect 7f48053b7f39
# 镜像信息
//下级
"LowerDir": "/var/lib/docker/overlay2/5dbfb6581a8882ce79c184986fb02498ee404ea775ef1bb37428455331c1f177/diff:/var/lib/docker/overlay2/817ce2d6a40ec1c63d382c0eb647b325bd1f52d16e18c8a1f2f5643fe96de5c9/diff:/var/lib/docker/overlay2/d1fdd72104f5a8cb4796b020ae22a7f22e7b97f589c50452f9d704612ecdb2b2/diff",
//合并
"MergedDir": "/var/lib/docker/overlay2/03876a90f4b8874a9a7df210e1edb39f9a13e28d0b0c05ba1f7479e3c1c7cd82/merged",
// 上级
"UpperDir": "/var/lib/docker/overlay2/03876a90f4b8874a9a7df210e1edb39f9a13e28d0b0c05ba1f7479e3c1c7cd82/diff",
                "WorkDir": "/var/lib/docker/overlay2/03876a90f4b8874a9a7df210e1edb39f9a13e28d0b0c05ba1f7479e3c1c7cd82/work"
## 容器信息
"LowerDir": "/var/lib/docker/overlay2/dc97629c6fc37be2a0f2a74b4786328e8bb8ebf7c2e50c8435186fe1b5ac1217-init/diff:/var/lib/docker/overlay2/03876a90f4b8874a9a7df210e1edb39f9a13e28d0b0c05ba1f7479e3c1c7cd82/diff:/var/lib/docker/overlay2/5dbfb6581a8882ce79c184986fb02498ee404ea775ef1bb37428455331c1f177/diff:/var/lib/docker/overlay2/817ce2d6a40ec1c63d382c0eb647b325bd1f52d16e18c8a1f2f5643fe96de5c9/diff:/var/lib/docker/overlay2/d1fdd72104f5a8cb4796b020ae22a7f22e7b97f589c50452f9d704612ecdb2b2/diff",
"MergedDir": (合并所有层)
"/var/lib/docker/overlay2/dc97629c6fc37be2a0f2a74b4786328e8bb8ebf7c2e50c8435186fe1b5ac1217/merged",
"UpperDir": (容器读写层, 容器运行过程中就会创建这些文件)
"/var/lib/docker/overlay2/dc97629c6fc37be2a0f2a74b4786328e8bb8ebf7c2e50c8435186fe1b5ac1217/diff",
"WorkDir": "/var/lib/docker/overlay2/dc97629c6fc37be2a0f2a74b4786328e8bb8ebf7c2e50c8435186fe1b5ac1217/work"


  • 查看上层信息


# 打开上层目录
cd /var/lib/docker/overlay2/03876a90f4b8874a9a7df210e1edb39f9a13e28d0b0c05ba1f7479e3c1c7cd82/diff
# 查看上层设置信息
cat usr/share/nginx/html/index.html 
<h1>This is Test Nginx</h1>


  • 下层是操作系统的文件信息


参考资料




相关文章
|
9月前
|
存储 Linux Docker
|
9月前
|
存储 Linux Docker
|
10月前
|
存储 Docker 容器
Docker安装默认存储路径修改与镜像恢复
Docker安装默认存储路径修改与镜像恢复
283 0
|
10月前
|
存储 缓存 应用服务中间件
Docker 镜像解密:分层存储与镜像构建原理
Docker 镜像解密:分层存储与镜像构建原理
324 0
|
10月前
|
存储 持续交付 Docker
Docker 镜像解密:分层存储与构建原理多角度解析
Docker 镜像解密:分层存储与构建原理多角度解析
203 0
|
3月前
|
存储 Kubernetes Linux
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
519 0
|
10月前
|
存储 边缘计算 数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
286 0
|
23小时前
|
存储 Linux Docker
在Docker中,如何更改Docker的默认存储设置?
在Docker中,如何更改Docker的默认存储设置?
|
3月前
|
存储 缓存 运维
【Docker 专栏】Docker 镜像的分层存储与缓存机制
【5月更文挑战第8天】Docker 镜像采用分层存储,减少空间占用并提升构建效率。每个镜像由多个层组成,共享基础层(如 Ubuntu)和应用层。缓存机制加速构建和运行,通过检查已有层来避免重复操作。有效管理缓存,如清理无用缓存和控制大小,可优化性能。分层和缓存带来资源高效利用、快速构建和灵活管理,但也面临缓存失效和层管理挑战。理解这一机制对开发者和运维至关重要。
270 8
【Docker 专栏】Docker 镜像的分层存储与缓存机制
|
3月前
|
存储 数据管理 数据安全/隐私保护
【Docker专栏】Docker存储卷管理:数据持久化的关键
【5月更文挑战第7天】本文探讨了Docker容器中数据持久化的关键——存储卷,包括其独立于容器生命周期的特性、数据共享与迁移能力。Docker提供默认、命名、数据卷容器和挂载宿主机目录四种卷类型。创建与管理涉及`docker volume create`、`ls`、`run`等命令。最佳实践建议使用命名存储卷,定期备份,避免存储敏感数据,并清理未使用卷。了解和有效管理存储卷能提升容器灵活性和数据管理效率。
115 5
【Docker专栏】Docker存储卷管理:数据持久化的关键