docker –tls vs –tlsverify

--tlsverify cli工具为tls auth提供了两个选项:–tls和--tlsverify

这两个选项有什么区别?

我设置了远程docker守护进程来使用我使用openssl所做的一些TLS证书。 我能够使用--tls标志连接到守护进程,但不能使用--tlsverify

如果您自己(即自签名)“制作”证书,证书不可能被validation。 使用--tls选项只需指示Docker按照原样使用证书,而无需使用根证书validation证书。 --tlsverify要求在使用证书之前,可以使用root权限validation证书。

有关更多详细信息,请参阅https://docs.docker.com/engine/security/https/ (特别是我的):

如果您需要通过networking以安全的方式访问Docker,则可以通过指定tlsverify标志并将Docker的tlscacert标志指向受信任的CA证书来启用TLS。

在守护进程模式下,它将只允许来自由该CA签名证书进行身份validation的客户端的连接。 在客户端模式下,它只会连接到由该CA签名证书的服务器。

换句话说,您遇到的行为不是Docker问题,更多是证书问题。