docker - 如何在 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 的情况下启用此选项,即有没有办法以编程方式执行此操作?
解决方案
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
推荐阅读
- bash - 如何编写 bash/zsh 命令来查看上一个命令的失败
- cloud - 从 3D 动画点计算枢轴点
- windows-subsystem-for-linux - 如何让我的 WSL 控制台具有垂直滚动条?
- python - 熊猫数据框合并语句问题
- amazon-web-services - AWS EMR 通过 lambda 函数在 Apache Livy 中运行 PySpark 代码导致的模块错误
- java - 如何使线性布局的动画看起来可扩展
- python - Pandas goupby 和聚合作为列表不起作用
- javascript - 如何分离扩展相同抽象类的类?
- c# - 如何检查 ef 核心中逗号分隔的连接列中是否存在字符串?
- sql-server - 安装 SSMS 18.8 卡住了