处理 docker 桌面的 daemon.json 有点混乱

Little confusion dealing with docker desktop's daemon.json

我需要编辑我的 docker 守护进程的配置,根据我正在阅读的内容,我 'can' 使用了 2(?)?

一条路:

C:\ProgramData\Docker\config\daemon.json

其他路径:

C:\Program Files\Docker\Docker\resources\windows-daemon-options.json

第一题:

所以,我是只编辑 windows-daemon-options.json,还是创建 daemon.json,然后在我的编辑中做,然后在守护进程启动时它会使用前者作为 "base" 配置并仅覆盖后者添加的设置?或者我 copy/paste 从前者到后者的所有设置,编辑我需要的,然后在启动时它将使用常规 daemon.json 作为首选配置(有点像前者是示例配置)?

第二题:

windows-daemon-options.json中的数据里面有很多"redacted",我想知道所有的数字是怎么算出来的?

即这是其中的数据(字面意思):

{
    "allow-nondistributable-artifacts": ["host_port_or_cidr|redacted"],
    "authorization-plugins": [],
    "bridge": "",
    "cluster-advertise": "",
    "cluster-store": "",
    "data-root": "path|redacted",
    "debug": true,
    "default-ulimits": {},
    "disable-legacy-registry": false,
    "dns": ["ip|redacted"],
    "dns-opts": [],
    "dns-search": ["domain|redacted"],
    "exec-opts": [],
    "experimental": true,
    "fixed-cidr": "redacted",
    "graph": "deprecated|redacted",
    "group": "",
    "hosts": ["endpoint|redacted"],
    "insecure-registries": ["host_port_or_cidr|redacted"],
    "labels": [],
    "live-restore": true,
    "log-driver": "",
    "log-level": "",
    "max-concurrent-downloads": 3,
    "max-concurrent-uploads": 5,
    "metrics-addr":"endpoint|redacted",
    "mtu": 0,
    "pidfile": "redacted",
    "raw-logs": false,
    "registry-mirrors": ["registry|redacted"],
    "shutdown-timeout": 15,
    "storage-driver": "",
    "storage-opts": [],
    "swarm-default-advertise-addr": "endpoint|redacted",
    "tlscacert": "redacted",
    "tlscert": "redacted",
    "tlskey": "redacted",
    "tlsverify": true
}

希望我能够清楚地表达我的问题。

当您以 Windows 容器模式启动 Docker 桌面时,如果 C:\ProgramData\Docker\config\daemon.json 不存在,它将使用一些默认值创建。 您可以预先创建它或之后编辑它(并重新启动 Docker 桌面)。

或者您可以使用 UI(设置/Docker 引擎)来验证更改。 C:\Program Files\Docker\Docker\resources\windows-daemon-options.json 是那里用于验证的架构内部文件,您可能不想更改它。

另见 https://docs.docker.com/docker-for-windows/#docker-engine

C:\ProgramData\Docker\config\daemon.json 用于 windows 容器,这是 windows 守护程序代码中的默认位置。

C:\Users\<username>\.docker\daemon.json 用于 linux 个容器,此 hyper-v/wls2/linux 本机默认位置。

这两个文件是在相应的守护进程第一次启动时创建的。