2016-04-24 15 views
1

Bei Docker Swarm läuft der Swarm Manager auf dem Master-Knoten, während der Schwarm-Agent auf dem Slave-Knoten läuft. Ich interessiere mich für die Schritte zum Starten eines Containers. Es gibt zwei Optionen:Wie startet Docker Swarm einen Container?

  1. Der Swarm-Manager startet Container direkt über die Remote-API von Docker.
  2. Swarm-Manager fragt Swarm-Agent, Container zu starten, dann Swarm-Agent fragt lokalen Docker-Daemon, Container zu starten.

Persönlich denke ich, dass der erste richtig ist. Aber ich bin mir nicht sicher ...

Antwort

1

Swarm-Agenten haben keinen Zugriff auf den Docker-Daemon, sie sind nur da, um über etcd, Konsul oder Tierpfleger mit dem Master zu kommunizieren. Also ist der erste richtig. Der Agent registriert den Host mit dem Erkennungsdienst, und von diesem Moment an kann der Manager über den Daemon auf einen TCP-Port zugreifen.

+0

Sie haben den Quellcode von Docker Swarm überprüft? Gibt es Hinweise auf dieses Problem? Vielen Dank! – KiwenLau

+0

Nein, ich habe die Quelle nicht überprüft, aber ich habe ein paar davon eingerichtet, so dass ich eine gute Vorstellung davon habe, wie alles miteinander verknüpft ist. – tpbowden

Verwandte Themen