2016-03-23 7 views
0

Das docker cli tool bietet zwei Optionen für tls auth: --tls und --tlsverify.docker --tls vs --tlsverify

Was ist der Unterschied zwischen diesen beiden Optionen?

Ich habe meinen Remote Docker Daemon eingerichtet, um einige TLS-Zertifikate zu verwenden, die ich mit openssl erstellt habe. Ich bin an den Dämon verbinden Lage, die --tls Flag verwenden, aber nicht die --tlsverify

+0

Lange Zeit, aber haben Sie eine passende Antwort gefunden? Ich versuche das Gleiche. Ich kann nicht in Google einsteigen. – chaosguru

Antwort

1

Wenn Sie mit „gemacht“ die Zertifikate selbst (das heißt, selbst signiertes), ist es unwahrscheinlich, dass die Zertifikate überprüft werden können. Mit der Option --tls wird Docker einfach angewiesen, die Zertifikate unverändert zu verwenden, ohne das Zertifikat mit den Root-Berechtigungen zu überprüfen. --tlsverify erfordert, dass das Zertifikat vor der Verwendung mit einer Rootberechtigung überprüft werden kann.

Siehe https://docs.docker.com/engine/security/https/ für weitere Details, speziell (Hervorhebung von mir):

Wenn Sie Docker müssen über das Netzwerk auf sichere Weise erreichbar sein, können Sie TLS aktivieren, indem Sie die tlsverify Flag, das angibt und zeigt Docker des tlscacert Flagge zu einem vertrauenswürdigen CA-Zertifikat.

Im Daemon-Modus werden nur Verbindungen von Clients zugelassen, die von einem Zertifikat authentifiziert wurden, das von dieser CA signiert wurde. Im Client-Modus wird nur eine Verbindung mit Servern hergestellt, die über ein Zertifikat verfügen, das von dieser CA signiert wurde.

Mit anderen Worten, das Verhalten, das Sie erleben, ist weniger ein Docker-Problem und mehr ein Zertifikat-Problem.

+0

Aaron danke! das macht Sinn. Verwendet docker-machine auch selbstsignierte Zertifikate? – BHBH

+0

Ich weiß leider nichts über docker-machine. Es ist jedoch wahrscheinlich eine sichere Annahme, dass Sie es wahrscheinlich nicht tun, wenn Sie nicht wissen, ob Sie ein vertrauenswürdiges Zertifikat erstellen oder nicht. –