自 Docker 的 0.9 版本开始 Docker Remote API 开始提供了认证机制,这种认证机制采用了 TLS/SSL 证书来确保用户与 API 之间连接的安全性。 |
提示: 该认证不仅仅适用于 API ,通过这个认证,还需要配置 Docker 客户端来支持 TLS 认证。 |
有几种方法可以对我们的连接进行认证,包括可以使用一个完整的 PKI 基础设施,也可以选择创建自己的证书授权中心(Certificate Authority,CA),或者使用已有的 CA。在这里,我将给大家建立自己的证书授权中心,因为这是一个简单、快速的开始。 |
警告: 这依赖于运行在 Docker 宿主机上的本地 CA,它不像使用一个完整的证书授权中心那样安全。 |
第一步:建立证书授权中心
我们将快速了解一下创建所需 CA 证书和密钥(key)的方法,在大多数平台上这都是一个非常标准的过程。在这之前,我们需要确保系统已经安装好了 openssl,如下图所示。 |
让我们在 Docker 宿主机上创建一个目录来保存我们的 CA 和相关资料,如下图所示。 |
现在就来创建一个 CA,在之前,我们先生成一个私钥(private key),如下图所示。 |