Docker 配置项详解与示例

Docker 是一个强大的容器化平台,通过它可以轻松地创建、部署和管理容器化应用程序。Docker 的配置项非常丰富,可以通过命令行参数或配置文件来设置。本文将详细介绍 Docker 的常用配置项,并提供具体的示例,帮助你更好地理解和使用 Docker。

一、Docker 配置文件与命令行参数

Docker 的配置可以通过两种方式实现:

  1. 命令行参数:通过在启动 Docker 服务时传递参数来配置 Docker。
  2. 配置文件 :通过编辑 daemon.json 文件来配置 Docker。默认情况下,该文件位于 /etc/docker/daemon.json(Linux)或 %programdata%\docker\config\daemon.json(Windows)。

配置文件的方式更加灵活和持久,推荐使用。

二、常用配置项详解

1. 日志相关配置

日志驱动
json 复制代码
"log-driver": "json-file"

默认情况下,Docker 使用 json-file 作为日志驱动。你也可以选择其他日志驱动,例如 syslogfluentdgelf

日志级别
json 复制代码
"log-level": "info"

设置日志级别,可选值为 debuginfowarnerrorfatal

日志格式
json 复制代码
"log-format": "json"

设置日志格式,可选值为 textjson

2. 网络相关配置

默认网桥网络
json 复制代码
"bip": "192.168.1.5/24"

设置默认网桥网络的 IPv4 地址。

IPv6 支持
json 复制代码
"ipv6": true

启用 IPv6 网络支持。

DNS 配置
json 复制代码
"dns": ["8.8.8.8", "8.8.4.4"]

设置容器使用的 DNS 服务器。

3. 存储相关配置

存储驱动
json 复制代码
"storage-driver": "overlay2"

设置存储驱动,推荐使用 overlay2

存储选项
json 复制代码
"storage-opt": {
  "size": "20G"
}

设置存储驱动的选项,例如容器的最大磁盘空间。

4. 安全相关配置

启用 Seccomp
json 复制代码
"seccomp-profile": "unconfined"

设置 Seccomp 配置文件路径,unconfined 表示禁用默认的 Seccomp 配置。

启用 SELinux
json 复制代码
"selinux-enabled": true

启用 SELinux 支持。

5. 性能相关配置

CPU 配置
json 复制代码
"cpu-rt-period": 100000,
"cpu-rt-runtime": 95000

设置 CPU 实时周期和运行时间。

内存配置
json 复制代码
"default-shm-size": "128m"

设置默认共享内存大小。

6. 其他配置

默认运行时
json 复制代码
"default-runtime": "runc"

设置默认的容器运行时。

镜像加速
json 复制代码
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

设置镜像加速地址,国内用户可以使用中科大镜像源。

三、示例配置文件

以下是一个完整的 daemon.json 配置文件示例:

json 复制代码
{
  "log-driver": "json-file",
  "log-level": "info",
  "log-format": "json",
  "bip": "192.168.1.5/24",
  "ipv6": true,
  "dns": ["8.8.8.8", "8.8.4.4"],
  "storage-driver": "overlay2",
  "storage-opt": {
    "size": "20G"
  },
  "seccomp-profile": "unconfined",
  "selinux-enabled": true,
  "cpu-rt-period": 100000,
  "cpu-rt-runtime": 95000,
  "default-shm-size": "128m",
  "default-runtime": "runc",
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

四、应用配置

  1. 编辑配置文件

    打开 /etc/docker/daemon.json 文件(Linux)或 %programdata%\docker\config\daemon.json 文件(Windows),将上述内容粘贴进去。

  2. 重启 Docker 服务

    保存文件后,重启 Docker 服务以应用新配置:

    bash 复制代码
    sudo systemctl restart docker

五、总结

Docker 提供了丰富的配置项,通过合理配置可以优化性能、增强安全性和提升用户体验。本文介绍了常用的配置项,并提供了具体的示例。希望这些内容能帮助你更好地使用 Docker。

如果你有任何问题或建议,欢迎在评论区留言。

相关推荐
大树883 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工4 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn864 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智5 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉6 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦6 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_961875247 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant