Docker中AWS上TLS客户端(Golang)的安全证书文件在哪里?

时间:2016-07-15 22:32:30

标签: ssl amazon-ec2 docker

我有一个使用TLS泊坞客户端的go程序,如下所示:

endpoint := "tcp://"+hostIP+":2376"
path := os.Getenv("DOCKER_CERT_PATH")
ca := fmt.Sprintf("%s/ca.pem", path)
cert := fmt.Sprintf("%s/cert.pem", path)
key := fmt.Sprintf("%s/key.pem", path)
client, _ := docker.NewTLSClient(endpoint, cert, key, ca)

在我的Mac上,我将〜/ .docker / machine / certs中的证书文件挂载到/ mnt / cert(DOCKER_CERT_PATH),找到并使用了3个所需的文件。

这在我的Mac上本地效果很好。

当我将其推送到AWS时,它会爆炸,因为这些pem文件不在同一个地方。我在哪里可以找到这3个文件?

1 个答案:

答案 0 :(得分:0)

HTTPS client mode建议:

  

如果找到,客户端将发送其客户端证书,因此您只需将密钥放入~/.docker/{ca,cert,key}.pem即可。

首先尝试这条路径。

如果没有,请尝试并回显该变量。例如,它可能是(在AWS上)~/.boot2docker/certs~/.docker/machine/machines/<yourmachine>