docker各目录含义

目录 含义
builder 构建docker镜像的工具或过程
buildkit 用于构建和打包容器镜像,官方构建引擎,支持多阶段构建、缓存管理、并行化构建和多平台构建等功能
containerd 负责容器生命周期管理,能起、停、重启,确保容器运行。负责镜管理,提供一致的运行环境
containers docker容器,当前运行的所有容器都会显示到此目录
image 在docker中,image是一个只读的文件系统,可被看作一个模板,用于创建容器实例
network docker网络提供一种简单、可扩展方式来组织管理容器。可为网络提供网络隔离、服务发现和负载均衡等
overlay2 存储驱动,用于实现容器与主机之间文件系统层的隔离。允许多个容器共享相同的基础文件系统镜像,又能保证每个容器保持独立的文件系统更改。df命令可以列举容器运行中所需文件和目录。所谓的联合挂载
plugins docker插件,用于扩展docker
runtimes docker默认使用runc作为容器运行时
swarm docker集群管理工具,用于将多个docker组织成一个集群,以便统一管理和调度
tmp 临时文件夹,用于存放临时文件或数据
trust 在Docker中,信任(trust)通常与内容信任(Content Trust)相关。确保镜像在传输过程中未被篡改
volumes docker卷是容器可以从中读取和写入的特定文件类型层,卷为持久化存储和共享数据,即使容器停止和删除(运行后的容器都会在次目录下自动创建相应的id数据目录)

联合挂载

  1. 绑定挂载
    将主机上的文件或目录股挂载到容器的方式。通过运行容器时使用-v或者--mount参数来指定绑定挂载。
    例如: docker run -v /data/path:/container/path image_name ,使其容器和主机之间共享文件和目录
  2. 命名卷
    挂载卷是将docker数据卷挂载到容器中。数据卷是一个可供一个或多个容器使用的特殊目录,用于存储数据和共享数据,独立于容器的生命周期,容器可以在挂载点读取和写入数据。
    例如:docker run -v volume_name:/container/path image_name
  3. 临时文件系统挂载
    临时文件系统挂载允许将临时文件系统挂载到容器的指定路径。可以通过在运行容器时使用--tmpfs参数来指定临时文件系统挂载
  1. 当运行多个docker容器时,每个容器都使用overlay2存储驱动来管理其文件系统的层,它允许docker将多个文件叠加在一起,形成一个统一的文件系统
  2. 每个overlay行代表一个docker容器的overlay2文件系统挂载点,当使用df命令,这些挂载点都会被统计出来,它们确实占用主机磁盘利用率,wc -l 统计的数量和在运行中的docker容器是保持一致。
  3. 每个容器还会有个shm挂载点,用于提供共享内存,shm通常为64mb,并且不会被计入容器磁盘使用情况因为它们使用的是RAM或tmpfs(临时文件系统),而不是磁盘空间。

containers目录

  1. containers目录下存储所有正在运行或已经停止的容器相关数据,每个容器在该目录下以容器id创建各子目录,包含配置,状态,日志等信息。不推荐直接编辑这些文件
  2. 当容器被删除后该目录下对应的容器子目录也将自动被清理
文件 含义
ID-json.log 容器日志
config.v2.json 容器配置包含容器各种参数和设置
hostconfig.json 包含docker守护进程为容器的配置,绑定挂载,端口映射,环境变量等
hostname 容器主机名
hosts 容器/etc/hosts文件,包含容器DNS解析信息
mounts 容器挂载点相关信息
resolv.conf 容器DNS解析配置,类似宿主机/etc/resolv.conf文件
resolv.conf.hash 容器resolv.conf文件的哈希值,用于检查文件是否已被修改或损坏

volumes目录

  1. 在docker中volume是用于管理容器数据的命名和目录。数据卷是一种特殊类型的存储,允许持久化容器数据
  2. 在docker/volumes/下会存放所有运行使用命名卷的方式挂载数据目录。该目录下不显示绑定挂载的数据卷列表(-v /data/ceshi:/data:ceshi)
  3. 数据卷独立于容器的生命周期,即使容器被删除或重新创建,数据卷中的数据仍然可以保留下来,不会丢失。使容器间的数据共享变得简单。不同容器可以挂载同一个数据卷,共享数据。

资源清理

命令 含义
docker system prune -a(强制) 清除所有停止的容器、未使用的网络、悬挂的镜像(没有被任何容器引用的镜像)、未使用的卷
docker container prune( -f 强制) 清理所有停止的容器,这些容器不再运行,但仍然占用系统资源
docker image prune 清理未使用的镜像。未使用的镜像是指那些没有在任何容器中使用的镜像
docker network prune 清理未使用的 Docker 网络
docker volume prune 清理未使用的卷。在 Docker 中,卷用于持久化数据,即使容器被删除,卷中的数据也会保留
相关推荐
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
梅见十柒3 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
意疏16 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant16 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Code_Artist16 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
wanmei00218 小时前
Dockerfile复制目录进入镜像里
docker
inter_peng18 小时前
[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
tcp/ip·docker·eureka
Linux运维日记18 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
一名路过的小码农20 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
xiangshangdemayi1 天前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载