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

WSL2 Ubuntu搭配Docker Desktop时docker daemon未作为服务运行的问题

Docker Desktop + WSL2 环境相关问题解答

响应WSL中Docker命令的进程

从你提供的ps -ef输出来看,这两个进程负责中转WSL内的Docker命令:

  • root 130 129 0 22:41 pts/0 00:00:00 /mnt/wsl/docker-desktop/docker-desktop-user-distro proxy --distro-name U
  • me 144 143 0 22:42 pts/1 00:00:00 docker serve --address unix:///home/me/.docker/run/docker-cli-api.sock

核心原因是:Docker Desktop搭配WSL2时,Docker daemon实际运行在Windows主机上,而非WSL的Ubuntu发行版内。WSL里的Docker命令行工具(CLI)通过上述代理/serve进程,跨WSL与Windows的边界,连接到Windows侧的dockerd服务。所以你在WSL里找不到本地的dockerd进程,也无法用service dockerd stop这类命令管理服务。

配置--api-cors-header实现Windows主机访问Docker API

要添加--api-cors-header参数,需要直接在Docker Desktop的配置中修改:

  1. 打开Docker Desktop,进入设置 -> Docker Engine选项卡
  2. 在弹出的JSON配置文件中,添加"api-cors-header": "*"(若需限制域名,可替换为具体的允许地址,比如"http://192.168.x.x"),示例配置如下:
    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "api-cors-header": "*"
    }
    
  3. 点击Apply & Restart,等待Docker Desktop重启生效
  4. 若要通过HTTP访问Docker API,还需在设置 -> General里勾选"Expose daemon on tcp://localhost:2375 without TLS"(注意:该选项仅适合测试环境,生产环境建议启用TLS加密)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:54:19