我有一个使用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个文件?
答案 0 :(得分:0)
如果找到,客户端将发送其客户端证书,因此您只需将密钥放入
~/.docker/{ca,cert,key}.pem
即可。
首先尝试这条路径。
如果没有,请尝试并回显该变量。例如,它可能是(在AWS上)~/.boot2docker/certs
或~/.docker/machine/machines/<yourmachine>