如何在Docker Desktop中修改Docker Daemon配置添加TLS设置
为Docker Desktop中的dockerd配置TLS认证
1. 生成TLS证书文件
按照Docker官方的证书生成流程,创建所需证书文件:ca.pem(CA根证书)、server-cert.pem(服务端证书)、server-key.pem(服务端密钥),同时生成客户端证书(client-cert.pem、client-key.pem)用于后续连接验证。
将证书文件放到Docker守护进程可访问的目录,示例路径:
- Windows:
C:\ProgramData\Docker\certs - Mac:
~/Library/Containers/com.docker.docker/Data/docker/certs - Linux:
/var/lib/docker/certs
2. 修改Docker守护进程配置
方式一:通过Docker Desktop GUI设置
- 打开Docker Desktop,点击右上角设置图标,选择Docker Engine选项卡
- 在JSON配置编辑器中添加以下TLS配置(替换为你的实际证书路径):
{ "tls": true, "tlsverify": true, "tlscacert": "/path/to/ca.pem", "tlscert": "/path/to/server-cert.pem", "tlskey": "/path/to/server-key.pem", "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"] }
Windows系统路径需转义反斜杠,例如"C:\\ProgramData\\Docker\\certs\\ca.pem"
- 点击Apply & Restart,等待Docker守护进程重启生效
方式二:直接修改daemon.json配置文件
找到对应系统的daemon.json路径:
- Windows:
C:\ProgramData\Docker\config\daemon.json - Mac:
~/Library/Containers/com.docker.docker/Data/docker/daemon.json - Linux:
/etc/docker/daemon.json
打开文件添加上述JSON配置,保存后重启Docker Desktop即可。
3. 验证TLS配置生效
使用客户端证书连接测试:
docker --tlsverify \ --tlscacert=ca.pem \ --tlscert=client-cert.pem \ --tlskey=client-key.pem \ -H=localhost:2376 info
若能正常返回Docker系统信息,说明TLS配置成功。
注意事项
- Linux/Mac系统下,需将
server-key.pem权限设置为600(执行chmod 600 server-key.pem),防止非授权用户读取密钥 - 如需远程连接,确保2376端口在防火墙中开放
内容的提问来源于stack exchange,提问作者sebastian_t
相关产品推荐
相关产品推荐

