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。

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

相关推荐
FrankYoou7 分钟前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
一位摩羯座DBA8 分钟前
Redhat&Centos挂载镜像
linux·运维·centos
隆里卡那唔23 分钟前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样24 分钟前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
cui_win1 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
风清再凯1 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司2 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎2 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
cocologin4 小时前
RIP 技术深度解析
运维·网络·网络协议
庸子4 小时前
基于Jenkins和Kubernetes构建DevOps自动化运维管理平台
运维·kubernetes·jenkins