首页 > 解决方案 > 如何在 Hyper-V 上以编程方式启用“在没有 TLS 的 tcp://localhost:2375 上公开守护程序”(Windows 10 v2004)

问题描述

我正在尝试使用 WSL2 和 Docker Desktop 在 Windows 10 (v2004) 上自动安装和配置 Docker。

默认情况下,Docker 桌面设置Expose daemon on tcp://localhost:2375 without TLS未启用。

如何在不使用 GUI 的情况下启用此选项,即有没有办法以编程方式执行此操作?

标签: dockerdocker-desktopwsl-2docker-daemon

解决方案


settings.json用户的漫游配置文件中有一个文件,例如C:\users\<username>\AppData\Roaming\Docker,它包含以下属性:exposeDockerAPIOnTCP2375

如果在启动 Docker Desktop之前将此属性设置为“true” ,Expose daemon on tcp://localhost:2375 without TLS则将在 Docker Desktop 启动后启用。

这可以通过编程方式完成,例如使用 PowerShell

$dockerSettingPath = "C:\Users\<username>\AppData\Roaming\Docker\settings.json"
$settingsContent = Get-Content $dockerSettingPath -Raw | ConvertFrom-Json
$settingsContent.exposeDockerAPIOnTCP2375 = $true
$settingsContent | ConvertTo-Json | Set-Content $dockerSettingPath

推荐阅读