Docker-daemon.json详解

刘某的Cloud 2024-07-07 13:07:04 阅读 70

一、简介:

/etc/docker/daemon.json是 Docker 守护程序的配置文件,它允许管理员自定义 Docker 守护程序的行为。下面列举了一些常见的配置项以及它们的用途,并给出每项配置的示例。

二、常见配置项

<code>vim /etc/docker/daemon.json

{

"data-root": "/data/docker",

"exec-root": "/var/run/docker",

"bridge": "none",

"iptables": false,

"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:4243"],

"labels": [

"Daboluo=true"

],

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m",

"max-file": "10"

},

"insecure-registries" : ["aaa.com","bbb.com"],

"bip": "169.254.123.1/24",

"oom-score-adjust": -1000,

"registry-mirrors": ["https://si4p9a1f.mirror.aliyuncs.com"],

"storage-driver": "overlay2",

"storage-opts":["overlay2.override_kernel_check=true"],

"live-restore": true

}

systemctl daemon-reload && systemctl restart docker

#守护进程配置更改后,需要重启。

三、配置详解

"data-root": "/data/docker":指定 Docker 存储所有运行时数据的根目录,包括镜像、容器、卷和网络等。默认情况下,这个目录位于 /var/lib/docker。

"exec-root": "/var/run/docker":定义 Docker 执行状态文件的存储路径,如运行中容器的网络配置。默认情况下,它通常位于 /var/run/docker。

"bridge": "none":告诉 Docker 不要自动创建默认的网桥接口 docker0。这通常用于自定义网络或在不需要 Docker 管理网络的情况下。

"iptables": false:禁止 Docker 修改 iptables 规则。这意味着 Docker 将不会自动配置 IP 表以进行网络隔离。

"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:4243"]:设置 Docker 守护进程监听的接口和端口,允许通过 Unix 套接字和 TCP 端口 4243 进行通信。0.0.0.0:4243 表示接受来自任何 IP 地址的连接。

"labels": ["AlidockerMod=true"]:为 Docker 守护进程添加标签,可以用来标识守护进程或进行过滤。

"exec-opts": ["native.cgroupdriver=systemd"]:指定 Docker 使用 systemd 作为其 cgroup 驱动程序。cgroup (Control groups) 是 Linux 提供的一个特性,用于限制、记录和隔离进程组的资源使用(如 CPU、内存等)。使用 systemd 作为 cgroup 驱动程序有助于集成 Docker 和使用 systemd 的系统组件。

"log-driver": "json-file":将 Docker 容器的日志记录驱动程序设置为 json-file,这意味着容器的日志将以 JSON 格式写入文件。这是 Docker 的默认日志驱动程序。

"log-opts": { "max-size": "100m", "max-file": "10" }:设置容器日志文件的轮转策略。"max-size": "100m" 指每个日志文件的最大大小为 100MB,达到该大小后日志文件会轮转。"max-file": "10" 指最多保留 10 个轮转后的日志文件。

"insecure-registries":列出了 Docker 可以通过 HTTP 而非 HTTPS 连接的不安全镜像仓库地址。在这个例子中,给出了几个私有仓库的地址,Docker 将不会验证这些仓库的 SSL 证书。如果配置为0.0.0.0/0,信任所有地址的所有私有仓库。

"bip": "169.254.123.1/24":指定 Docker 默认桥接网络 docker0 的 IP 地址和网络掩码。这个网络用于容器之间和宿主机之间的通信。

"oom-score-adjust": -1000:为 Docker 守护进程设置 OOM(内存耗尽)得分调整值。数值 -1000 表示 Docker 守护进程在内存耗尽时应该最后被杀死,以保护它的运行稳定。

"registry-mirrors": ["https://pqbap4ya.mirror.aliyuncs.com"]:设置 Docker 镜像拉取时使用的镜像仓库加速地址。这对于位于中国等地区的用户来说,可以提供更快的镜像下载速度

"storage-driver": "overlay2":指定 Docker 使用 overlay2 存储驱动,这是推荐的存储驱动,用于管理容器和镜像的分层文件系统。

"storage-opts":["overlay2.override_kernel_check=true"]:提供额外的存储驱动选项。在这里,它允许 overlay2 存储驱动忽略内核版本检查,这可能对于在不完全支持 overlay2 的旧内核版本上运行 Docker 是有用的。

"live-restore": true:启用“实时恢复”功能,允许 Docker 守护进程在更新或重启时不终止运行中的容器。这有助于减少服务中断并提高系统的可用性。


上一篇: Linux清理buff/cache的方法

下一篇: 配置git-ssh

本文标签

Docker-daemon.json详解   


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。