Docker-daemon.json详解

一、简介:

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

二、常见配置项

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 守护进程在更新或重启时不终止运行中的容器。这有助于减少服务中断并提高系统的可用性。

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: /etc/docker/daemon.json 文件是 Docker 的配置文件。它包含了 Docker 守护进程(daemon)的配置选项。这些选项可以用来调整 Docker 的性能、安全性、日志记录等。例如,可以在该文件中配置自定义的存储驱动、限制容器的资源使用、开启/关闭特定的功能等。 ### 回答2: /etc/docker/daemon.jsonDocker守护进程的配置文件。Docker守护进程是Docker的核心组件之一,负责管理容器和镜像以及其他与Docker相关的操作。 在/etc/docker/daemon.json配置文件中,可以定义各种设置来定制Docker守护进程的行为。该配置文件使用JSON格式,可以通过编辑该文件来修改Docker的默认行为。 这个配置文件包含了一些常用的配置选项,例如: 1. log-driver:用于指定Docker守护进程使用的日志驱动程序。 2. log-opts:用于指定日志驱动程序的选项和参数。 3. data-root:用于指定Docker守护进程的数据目录。 4. storage-driver:用于指定Docker守护进程使用的存储驱动程序。 5. bip:用于指定Docker守护进程的网络桥接配置。 还可以在配置文件中定义其他自定义的选项,用于进一步定制Docker守护进程的行为。例如,可以设置Docker守护进程监听的端口、设置Docker镜像的存储位置、配置资源限制等。 修改/etc/docker/daemon.json配置文件后,需要重新启动Docker守护进程才能使修改的配置生效。可以使用命令"sudo systemctl restart docker"来重新启动Docker守护进程。 总之,/etc/docker/daemon.json是一个重要的配置文件,通过修改这个文件可以对Docker守护进程进行定制,以满足不同的需求和使用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值