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

Docker 深入解析 Docker 配置文件:/etc/docker/daemon.json

深入解析 Docker 配置文件:/etc/docker/daemon.json

在 Docker 的生态系统中,守护进程(Docker Daemon)的配置直接影响容器的运行效率、安全性和功能扩展。/etc/docker/daemon.json文件作为 Docker 守护进程的核心配置文件,允许用户自定义各种高级参数。

一、文件概述

文件位置:/etc/docker/daemon.json(默认不存在时需手动创建)
作用:定义 Docker 守护进程的启动参数和全局行为
格式要求:严格遵循 JSON 格式,注意逗号和括号的闭合
生效方式:修改后需重启 Docker 服务(systemctl restart docker)

二、核心配置项详解

1. 基础配置

{
  "debug": true,          // 启用调试模式(生产环境慎用)
  "log-level": "info",    // 日志级别:debug | info | warn | error | fatal
  "log-driver": "json-file", // 默认日志驱动
  "log-opts": {           // 日志驱动参数
    "max-size": "100m",   // 单个日志文件最大体积
    "max-file": "3"       // 保留日志文件数量
  }
}

2. 存储驱动优化

{
  "storage-driver": "overlay2", // 推荐存储驱动(需内核支持)
  "storage-opts": [
    "dm.basesize=10G"            // 限制镜像层基础大小
  ]
}

3. 资源管理

{
  "default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 65536,
      "Soft": 65536
    }
  },
  "default-runtime": "runc",    // 默认容器运行时
  "runtimes": {
    "nvidia": {                // GPU加速配置
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

4. 镜像仓库配置

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ],
  "insecure-registries": [
    "private-registry:5000"
  ]
}

5. 网络配置

{
  "bip": "172.17.0.1/16",        // 自定义桥接网络IP段
  "fixed-cidr": "172.17.0.0/24", // 限制容器IP分配范围
  "default-address-pools": [
    {
      "base": "10.10.0.0/16",
      "size": 24
    }
  ]
}

6. 安全增强

{
  "tls": true,                  // 启用TLS加密通信
  "tlscacert": "/etc/docker/ca.pem",
  "tlscert": "/etc/docker/server.pem",
  "tlskey": "/etc/docker/server-key.pem",
  "userland-proxy": false       // 禁用用户态代理
}

三、典型配置示例

{
    "bip": "172.18.1.1/24",
    "default-runtime": "nvidia",
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
        "https://hub-mirror.c.163.com",
        "http://f1361db2.m.daocloud.io",
        "https://16agrsie.mirror.aliyuncs.com"
    ],
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
}

四、配置优化建议

存储驱动选择

优先使用overlay2(推荐)或btrfs
避免在生产环境使用aufs

日志管理

生产环境建议使用集中化日志方案(如 ELK)
限制单个日志文件大小(建议 50-100MB)

镜像仓库加速

国内用户必配镜像加速器
定期清理无用镜像(docker image prune)

安全增强

启用 TLS 加密通信
限制 Docker 守护进程权限
定期更新 Docker 版本

资源监控

配置default-ulimits限制容器资源
结合 cAdvisor 监控容器使用情况

五、常见问题排查

配置文件语法错误

使用jsonlint工具验证格式
检查逗号是否多余或缺失

Docker 服务启动失败

查看系统日志:journalctl -u docker
尝试回滚配置文件

镜像拉取失败

检查镜像仓库网络连通性
验证insecure-registries配置

相关文章:

  • 操作系统——进程与线程
  • 用CMake编译glfw进行OpenGL配置,在Visual Studio上运行
  • python爬虫系列课程8:js浏览器window对象属性
  • K8s构建带有maven环境的jenkins镜像
  • Fragment 懒加载的优化方案
  • vuejs 模板语法、条件渲染、v-for、事件处理、表单输入绑定
  • 01.04、回文排序
  • Linux基础---切换用户、创建用户、删除用户、添加和删除用户组、修改密码
  • OSPF的各种LSA类型,多区域及特殊区域
  • day1 postman重置密码,提交(submit)没有任何反应或者会提示超时
  • AI代码工场:基于Agent架构的Python程序自动化生成流水线
  • MWC 2025 | 紫光展锐与中国联通联合发布5G eSIM 平板
  • AGI(Artificial General Intelligence,通用人工智能)技术介绍
  • 理解梯度下降、链式法则、梯度消失/爆炸
  • Spring Boot整合ArangoDB教程
  • RocketMQ 消息发送高级特性解析(一)
  • Python项目-基于Django的在线教育平台开发
  • MySQL特殊字符查询
  • Browser Use+DeepSeek的使用教程
  • 晏殊几何学讲义
  • java做网站用什么软件/东莞seo网站排名优化公司
  • 人才网招聘网官网/惠州百度seo找谁
  • 有什么网站可以做问卷调查/优化推广公司哪家好
  • 做网站一定要域名嘛/重庆seo代理计费
  • 微商营销技巧/安卓神级系统优化工具
  • 网络维护协议/网店seo是什么意思