Docker 是一个强大的容器化平台,通过它可以轻松地创建、部署和管理容器化应用程序。Docker 的配置项非常丰富,可以通过命令行参数或配置文件来设置。本文将详细介绍 Docker 的常用配置项,并提供具体的示例,帮助你更好地理解和使用 Docker。
一、Docker 配置文件与命令行参数
Docker 的配置可以通过两种方式实现:
- 命令行参数:通过在启动 Docker 服务时传递参数来配置 Docker。
- 配置文件 :通过编辑
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"]
}
四、应用配置
-
编辑配置文件
打开
/etc/docker/daemon.json
文件(Linux)或%programdata%\docker\config\daemon.json
文件(Windows),将上述内容粘贴进去。 -
重启 Docker 服务
保存文件后,重启 Docker 服务以应用新配置:
bashsudo systemctl restart docker
五、总结
Docker 提供了丰富的配置项,通过合理配置可以优化性能、增强安全性和提升用户体验。本文介绍了常用的配置项,并提供了具体的示例。希望这些内容能帮助你更好地使用 Docker。
如果你有任何问题或建议,欢迎在评论区留言。