Docker 配置文件 daemon.json
- docker 官网:http://www.docker.com
1、概述
daemon.json
是 Docker 守护进程的配置文件,它允许系统管理员自定义 Docker 守护程序的行为。通过修改 daemon.json
,可以调整 Docker 守护进程的多种设置,包括网络配置、日志记录、存储驱动等。
docker 安装后默认没有 daemon.json
这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json
一般情况,配置文件 daemon.json
中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但注意的一点,配置文件中如果已经有某个配置项,则无法在启动参数中增加,会出现冲突的错误。
如果在 daemon.json 文件中进行配置,需要 docker 版本高于 1.12.6(在这个版本上不生效,1.13.1 以上是生效的)
官方的配置地址:
- https://docs.docker.com/engine/reference/commandline/dockerd/#/configuration-reloading
- https://docs.docker.com/engine/reference/commandline/dockerd/#options
- https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file
2、daemon.json
示例
注意:修改完配置文件后,需要重启docker服务才能生效
1 |
|
一些参数:
"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 的系统组件。"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 守护进程在更新或重启时不终止运行中的容器。这有助于减少服务中断并提高系统的可用性。
命令行配置列表
除了使用配置文件外,可以通过命令进行设置,通过 dockerd --help
查看全部的配置项,和 daemon.json
能对应上
1 |
|
配置生效
1 |
|