当前位置: 首页 > ops >正文

Docker 核心目录结构

1. Docker 核心目录结构

数据存储目录
  • 默认根目录/var/lib/docker
    Docker 所有运行时数据(镜像、容器、卷、网络配置等)的默认存储位置。

    bash

    复制

    下载

    # 查看 Docker 数据根目录
    docker info | grep "Docker Root Dir"
    # 输出示例:Docker Root Dir: /var/lib/docker
    • 子目录说明

      • containers/:容器的运行时数据(如容器层文件、日志)。

      • volumes/:持久化卷(Volume)数据。

      • images/:镜像层和元数据(实际镜像内容以分块形式存储)。

      • buildkit/:BuildKit 构建缓存(如果使用 Docker Buildx)。

      • network/:网络配置(如 bridgeoverlay 网络)。

配置文件目录
  • 主配置目录/etc/docker
    Docker 服务端和客户端的配置文件存放位置。

    # 关键配置文件
    /etc/docker/daemon.json  # Docker 守护进程配置文件(如镜像加速、存储驱动设置)
可执行文件路径
  • Docker 命令行工具/usr/bin/docker

    # 查看 Docker 客户端路径
    which docker
    # 输出示例:/usr/bin/docker
  • Docker 守护进程/usr/bin/dockerd

    which dockerd
    # 输出示例:/usr/bin/dockerd
日志与系统服务
  • Docker 服务日志

    # 通过 journalctl 查看 Docker 服务日志
    journalctl -u docker.service
  • Systemd 服务文件/usr/lib/systemd/system/docker.service
    Docker 服务的管理单元文件,用于控制启动、重启等操作。


2. 修改 Docker 默认存储目录

如果默认目录 /var/lib/docker 的磁盘空间不足,可修改存储路径(例如迁移到 /data/docker):

步骤
  1. 停止 Docker 服务

    systemctl stop docker
  2. 迁移数据(可选):

    rsync -av /var/lib/docker/ /data/docker/
  3. 修改配置
    编辑 /etc/docker/daemon.json,添加 data-root 字段:

    {"data-root": "/data/docker","registry-mirrors": ["https://your-mirror-url"]
    }
  4. 重启生效

    systemctl daemon-reload
    systemctl start docker
  5. 验证路径

    docker info | grep "Docker Root Dir"
    # 输出示例:Docker Root Dir: /data/docker

3. 关键目录总结

目录用途重要性
/var/lib/docker默认存储镜像、容器、卷等运行时数据核心目录
/etc/docker/daemon.json配置镜像加速、存储驱动、日志选项等重要
/usr/bin/dockerDocker 客户端命令行工具基础
/var/log/Docker 相关日志(通过 journalctl 查看)调试

常见问题

Q1:如何清理 Docker 占用的磁盘空间?
# 删除未使用的镜像、容器、卷
docker system prune -a --volumes
Q2:如何查看当前 Docker 存储驱动?
docker info | grep "Storage Driver"
# 输出示例:Storage Driver: overlay2
Q3:为什么修改 daemon.json 后 Docker 无法启动?

检查 JSON 文件语法是否正确(如逗号、引号):

# 验证 JSON 格式
sudo jsonlint -v /etc/docker/daemon.json

通过以上目录结构和操作,你可以快速定位和管理 Docker 的存储、配置及日志文件。

http://www.xdnf.cn/news/4679.html

相关文章:

  • React知识框架
  • 【开源版】likeshop上门家政系统PHP版全开源+uniapp前端
  • 【5G通信】redcap和bwp 随手记
  • 路由交换实验
  • 【总结3】
  • ADC和DAC
  • 普冉MS32C001单片机,国产32位单片机,芯片特性和功能介绍
  • 什么是文本相似对比算法,原理是什么
  • 《100天精通Python——基础篇 2025 第16天:异常处理与调试机制详解》
  • 【言语理解】片段阅读之细节判断(9)
  • C#生成二维码和条形码
  • 在c++中static用在全局和局部有什么区别
  • Qt开发经验 --- 避坑指南(7)
  • 【链表扫盲】FROM GPT
  • P2392 kkksc03考前临时抱佛脚
  • mongodb升级、改单节点模式
  • 为什么虚拟环境下包找错路径?
  • 堡塔云WAF免费WEB防火墙,从搭建到应用
  • k8s监控方案实践(一):部署Prometheus与Node Exporter
  • 排序算法-冒泡排序
  • [数据库之十三] 数据库索引之散列索引
  • 如何在macOS上通过SSHFS挂载远程文件系统
  • 室内无人机自主巡检解决方案-自主方案
  • 批量清洗与修改 YOLO 标签:删除与替换指定类别
  • uniapp index.html怎么改都不生效
  • Redis如何实现分布式锁
  • 论文学习:《RNADiffFold:使用离散扩散模型的生成RNA二级结构预测》
  • 中级网络工程师知识点2
  • 【se-res模块学习】结合CIFAR-10分类任务学习
  • 嵌入式学习--江协51单片机day3