首页 前端知识 Docker 深入解析 Docker 配置文件:/etc/docker/daemon.json

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

2025-03-12 12:03:35 前端知识 前端哥 562 676 我要收藏

深入解析 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配置

转载请注明出处或者链接地址:https://www.qianduange.cn//article/23370.html
标签
docker
评论
发布的文章

linux常见操作命令

2025-03-05 18:03:10

GPT-4.5

2025-03-12 12:03:19

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!