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。

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

相关推荐
大耳朵-小飞象8 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技9 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
生活爱好者!12 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo13 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客13 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
尽兴-13 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
Hui Baby13 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
通信小小昕14 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon14 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi14 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎