2016-07-15 2 views
1

Ich habe ein Go-Programm, das einen TLS-Docker Client wie folgt verwendet:Wo sind die Sicherheitszertifikatdateien für TLS-Client (Golang) auf AWS in Docker?

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) 

Auf meinem Mac ich die cert Dateien in ~/.docker/Maschine/certs/mnt/cert (DOCKER_CERT_PATH) montieren, und Die 3 benötigten Dateien werden gefunden und verwendet.

Das funktioniert großartig lokal auf meinem Mac.

Als ich das AWS schieben, es explodiert, weil diese pem Dateien nicht im selben Ort sind. Wo finde ich diese 3 Dateien?

Antwort

0

HTTPS client mode schlägt vor:

Wenn gefunden, wird der Client seine Client-Zertifikat senden, so brauchen Sie nur Ihre Schlüssel in ~/.docker/{ca,cert,key}.pem fallen zu lassen.

Also versuchen Sie diesen Pfad zuerst.

Wenn nicht, versuchen und diese Variable Echo. Es könnte zum Beispiel (auf AWS) ~/.boot2docker/certs oder ~/.docker/machine/machines/<yourmachine>

sein
Verwandte Themen