使用Docker Desktop的daemon.json时有些混淆

4

我需要编辑我的docker守护进程配置,根据我所阅读的,似乎有2种可供选择的方法?

第一种方法:

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

其他路径:

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

第一个问题:

  • windows-daemon-options.json 已经存在并且其中已有数据(下文会介绍)
  • daemon.json 不存在,需要我创建它

那么,我是应该直接编辑 windows-daemon-options.json,还是创建 daemon.json,然后进行修改,在守护进程启动时,它将使用前者作为“基础”配置,并仅覆盖后者添加的设置?还是我应该将前者中的所有设置复制/粘贴到后者中,对需要更改的内容进行编辑,然后在启动时使用正常的 daemon.json 作为首选配置(就好像前者是示例配置一样)?

第二个问题:

windows-daemon-options.json 中的数据有很多“已删除项”,我想知道这些如何影响这一切?

即,以下是其中的数据(直接引用):

{
    "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
}

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

3个回答

9

C:\ProgramData\Docker\config\daemon.json 是 Windows 容器的配置文件,默认位于 Windows 守护程序代码中。

C:\Users\<username>\.docker\daemon.json 是 Linux 容器的配置文件,是 Hyper-V/WLS2/Linux 原生默认位置。

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


3
当您在Windows容器模式下启动Docker Desktop时,如果不存在C:\ProgramData\Docker\config\daemon.json文件,则会创建该文件并设置一些默认值。您可以事先创建它或稍后进行编辑(然后重新启动Docker Desktop)。
或者,您可以使用UI(设置/ Docker引擎),该UI会验证更改。 C:\Program Files\Docker\Docker\resources\windows-daemon-options.json是用于验证的内部架构文件,您可能不想更改它。
另请参见https://docs.docker.com/docker-for-windows/#docker-engine

5
有趣,原来我在GUI中输入一些内容时,产生了一个daemon.json文件,它位于:C:\Users\<username>\.docker\daemon.json - J. Scott Elblein
那是针对Linux容器模式守护程序的。 - mat007

0

只需要:

  1. 按下 WinKey+R
  2. 输入:%userprofile%\.docker\
  3. 按下 Enter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接