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

如何为Docker for Mac守护进程配置TLS访问?

Docker for Mac 配置Docker守护进程TLS访问的问题排查与解决

可以为Docker for Mac的Docker守护进程配置TLS访问,你的问题主要出在证书路径不匹配、守护进程配置冲突以及客户端证书命名这几个地方,以下是具体排查和解决步骤:

问题分析

  • 证书路径不一致:守护进程配置的证书在~/.docker/ssl目录,但客户端指定的证书路径是~/.docker/certs,且客户端证书未按Docker默认规则命名。
  • Docker for Mac 守护进程启动异常:手动在daemon.json中添加hosts字段会覆盖Docker Desktop的默认配置,导致守护进程无法正常启动,这是无法连接的核心原因。

解决步骤

1. 修正客户端证书

paulczar/omgwtfssl生成的客户端证书默认名为client.pem和client-key.pem,但Docker客户端默认寻找cert.pem和key.pem,需要重命名:

cd ~/.docker/certs
cp client.pem cert.pem
cp client-key.pem key.pem

确认该目录下存在ca.pem、cert.pem、key.pem三个文件。

2. 调整守护进程配置

Docker for Mac不建议手动设置hosts字段,会和默认配置冲突,修改~/.docker/daemon.json如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "debug": true,
  "experimental": false,
  "tlscacert": "/Users/anton/.docker/ssl/ca.pem",
  "tlscert": "/Users/anton/.docker/ssl/cert.pem",
  "tlskey": "/Users/anton/.docker/ssl/key.pem",
  "tlsverify": true
}

打开Docker Desktop,点击右上角设置→Docker Engine,确认配置和上述一致后点击Apply & Restart,等待守护进程重启完成。

3. 测试连接

设置客户端环境变量并测试:

export DOCKER_HOST=tcp://127.0.0.1:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/Users/anton/.docker/certs
docker info

额外排查

如果还是无法连接,查看Docker Desktop日志:设置→Troubleshoot→Show Logs,检查是否有证书验证失败或守护进程启动报错的信息;同时确认生成证书时指定的SSL_IP包含127.0.0.1和你的Mac局域网IP,避免IP不匹配导致验证失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:52:47