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。

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

相关推荐
ACP广源盛139246256731 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
百年੭ ᐕ)੭*⁾⁾2 小时前
docker使用neo4j
docker·容器·neo4j
峥无2 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
码云数智-大飞2 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Harvy_没救了3 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信4 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
2401_873479405 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩5 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
handler015 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
日取其半万世不竭7 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器