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 作为日志驱动。你也可以选择其他日志驱动,例如 syslog、fluentd 或 gelf。

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

设置日志级别,可选值为 debug、info、warn、error 和 fatal。

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

设置日志格式,可选值为 text 或 json。

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。

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

相关推荐
Decay__2 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
java_logo2 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
天远API6 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮6 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
乐维_lwops7 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
番茄啊8 小时前
linux 开启xftp连接
linux·运维·服务器
IT利刃出鞘9 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo9 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea9 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien200410 小时前
管理机密(一)
运维·服务器·开发语言·学习方法