docker各目录含义详细解析
更新时间:2024年05月03日 08:45:40 作者:liujiangxu
Docker容器的目录结构通常是在构建镜像时定义的,它基于所使用的基础镜像,下面这篇文章主要给大家介绍了关于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数据目录) |
联合挂载
- 绑定挂载将主机上的文件或目录股挂载到容器的方式。通过运行容器时使用-v或者–mount参数来指定绑定挂载。
例如: docker run -v /data/path:/container/path image_name ,使其容器和主机之间共享文件和目录 - 命名卷挂载卷是将docker数据卷挂载到容器中。数据卷是一个可供一个或多个容器使用的特殊目录,用于存储数据和共享数据,独立于容器的生命周期,容器可以在挂载点读取和写入数据。
例如:docker run -v volume_name:/container/path image_name - 临时文件系统挂载临时文件系统挂载允许将临时文件系统挂载到容器的指定路径。可以通过在运行容器时使用–tmpfs参数来指定临时文件系统挂载
- 当运行多个docker容器时,每个容器都使用overlay2存储驱动来管理其文件系统的层,它允许docker将多个文件叠加在一起,形成一个统一的文件系统
- 每个overlay行代表一个docker容器的overlay2文件系统挂载点,当使用df命令,这些挂载点都会被统计出来,它们确实占用主机磁盘利用率,wc -l 统计的数量和在运行中的docker容器是保持一致。
- 每个容器还会有个shm挂载点,用于提供共享内存,shm通常为64mb,并且不会被计入容器磁盘使用情况因为它们使用的是RAM或tmpfs(临时文件系统),而不是磁盘空间。
containers目录
- containers目录下存储所有正在运行或已经停止的容器相关数据,每个容器在该目录下以容器id创建各子目录,包含配置,状态,日志等信息。不推荐直接编辑这些文件
- 当容器被删除后该目录下对应的容器子目录也将自动被清理
文件 | 含义 |
---|---|
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目录
- 在docker中volume是用于管理容器数据的命名和目录。数据卷是一种特殊类型的存储,允许持久化容器数据
- 在docker/volumes/下会存放所有运行使用命名卷的方式挂载数据目录。该目录下不显示绑定挂载的数据卷列表(-v /data/ceshi:/data:ceshi)
- 数据卷独立于容器的生命周期,即使容器被删除或重新创建,数据卷中的数据仍然可以保留下来,不会丢失。使容器间的数据共享变得简单。不同容器可以挂载同一个数据卷,共享数据。
资源清理
命令 | 含义 |
---|---|
docker system prune -a(强制) | 清除所有停止的容器、未使用的网络、悬挂的镜像(没有被任何容器引用的镜像)、未使用的卷 |
docker container prune( -f 强制) | 清理所有停止的容器,这些容器不再运行,但仍然占用系统资源 |
docker image prune | 清理未使用的镜像。未使用的镜像是指那些没有在任何容器中使用的镜像 |
docker network prune | 清理未使用的 Docker 网络 |
docker volume prune | 清理未使用的卷。在 Docker 中,卷用于持久化数据,即使容器被删除,卷中的数据也会保留 |
总结
到此这篇关于docker各目录含义详细解析的文章就介绍到这了,更多相关docker目录含义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)
这篇文章主要介绍了Ubuntu 搭建基于Docker的LNMP+Redis的开发环境的相关资料,这里详细介绍如何搭建的步骤,并附图文,需要的朋友可以参考下2016-12-12Docker for windows pull镜像文件的安装位置改变的方法
这篇文章主要介绍了Docker for windows pull镜像文件的安装位置改变的方法的相关资料,需要的朋友可以参考下2016-12-12docker+gitlab+gitlab-runner部署详解
这篇文章主要介绍了docker+gitlab+gitlab-runner部署详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10
最新评论