There is a settings.json
file located in the user's roaming profile e.g. C:\users\<username>\AppData\Roaming\Docker
that contains the following property: exposeDockerAPIOnTCP2375
.
If this property is set to 'true' before starting Docker Desktop, then Expose daemon on tcp://localhost:2375 without TLS
will be enabled once Docker Desktop has started.
This can be done programmatically e.g. with 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