连接到由dockercloud-agentpipe理的docker主机
我有一个Docker主机,我使用Docker Cloud,现在我想从另一个Docker客户端连接到这个主机。 但是我遇到了必要的SSL证书问题。
主机使用(并应该继续这样做)TLS客户端validation。 我自己并没有build立到Docker Cloud的连接,但是看起来像是使用了dockercloud-agent
(这个过程在https://docs.docker.com/docker-cloud/infrastructure/byoh/中有描述)。 (Docker Cloud与我们的节点正常工作)。
为了从另一个docker客户端连接到主机,该客户端必须为主机提供一个有效的证书,该证书必须由主机信任的CA签名(根据文档https://docs.docker.com / engine / security / https / )。 所以我可以:
- 使用Docker云使用的相同的客户端证书。 问题:我无权访问这些证书,也没有关于它们存储位置的文档。
- 创build一个新的客户端证书,并使用
dockercloud-agent
已经使用的CAcert对其进行签名,以签署其客户端证书。 问题:我无法访问CA密钥,也没有关于存储位置的文档。
在主机上留下的所有dockercloud-agent
是服务器的ca.pem
和cert.pem
和key.pem
,但没有ca-key.pem
。
我该怎么办? 我在这里错过了什么?
为了进行testing,我build立了另一个docker主持人,带有tlsverify和所有合适的证书,并且工作,所以我想我理解所有这些证书是如何工作的。
哦,另外:当试图远程连接到主机而不提供证书(但指定主机使用的cacert)时,我希望服务器抱怨无法validation客户端。 但是,客户报告x509: certificate signed by unknown authority
。 这可能表明dockercloud-agent
在设置证书时做了一些奇怪的事情。
docker --tlsverify --tlscacert=ca.pem -H=$HOST info error during connect: Get https://$HOST/v1.27/info: x509: certificate signed by unknown authority
提前致谢!