You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker daemon启动失败:daemon.json中default指令不匹配配置项

Docker Daemon代理配置启动失败问题解决

环境信息

  • 操作系统:Fedora 38 x64
  • Docker版本:
Client:
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        %{shortcommit_cli}
 Built:             Sun Aug 27 16:48:05 2023
 OS/Arch:           linux/amd64
 Context:           default

问题场景

配置Docker daemon代理时,使用了如下/etc/docker/daemon.json内容:

{
 "proxies": {
   "default": {
     "httpProxy": "http://127.0.0.1:7890",
     "httpsProxy": "http://127.0.0.1:7890",
     "noProxy": "*.test.example.com,127.0.0.0/8"
   }
 }
}

配置后Docker服务无法启动,执行systemctl status docker返回错误:

[root@fedora ~]# systemctl status docker
× docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Thu 2023-11-16 22:19:04 CST; 10min ago
   Duration: 6min 52.686s
TriggeredBy: × docker.socket
       Docs: https://docs.docker.com
    Process: 10463 ExecStart=/usr/bin/dockerd --host=fd:// --exec-opt native.cgroupdriver=systemd $OPTIONS (code=exited, status=1/FAILURE)
   Main PID: 10463 (code=exited, status=1/FAILURE)
        CPU: 46ms

11月 16 22:19:04 fedora systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
11月 16 22:19:04 fedora systemd[1]: Stopped docker.service - Docker Application Container Engine.
11月 16 22:19:04 fedora systemd[1]: docker.service: Start request repeated too quickly.
11月 16 22:19:04 fedora systemd[1]: docker.service: Failed with result 'exit-code'.
11月 16 22:19:04 fedora systemd[1]: Failed to start docker.service - Docker Application Container Engine.
11月 16 22:19:38 fedora systemd[1]: docker.service: Start request repeated too quickly.
11月 16 22:19:38 fedora systemd[1]: docker.service: Failed with result 'exit-code'.
11月 16 22:19:38 fedora systemd[1]: Failed to start docker.service - Docker Application Container Engine.

执行dockerd --debug定位到核心错误:

unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: default

官方文档相关说明(翻译后):

daemon.json中proxies下的default键用于配置客户端连接的所有守护进程的代理设置。如果要为单个守护进程配置代理,请使用守护进程的地址替换default键。

解决方案

你的Docker版本(24.0.5)不支持proxies.default这种嵌套结构——该格式是Docker客户端的代理配置格式,并非daemon的配置格式。

正确的Docker daemon代理配置需将参数直接放在daemon.json根节点:

{
  "httpProxy": "http://127.0.0.1:7890",
  "httpsProxy": "http://127.0.0.1:7890",
  "noProxy": "*.test.example.com,127.0.0.0/8"
}

修改配置后,执行以下命令重启服务:

systemctl daemon-reload
systemctl restart docker

验证服务状态:

systemctl status docker

关键区别说明

  • Docker客户端代理配置才使用proxies.default结构,通常存放于~/.docker/config.json
  • Docker daemon代理配置需直接在/etc/docker/daemon.json根节点定义参数

内容的提问来源于stack exchange,提问作者WestFarmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:25:18