Sehen Sie sich das folgende Beispiel an:
1.Erstellen Sie ein benutzerdefiniertes Overlay-Netzwerk:
%Vor%2. Führen Sie einen Dienst mit verfügbaren Ports und drei Replikaten aus:
%Vor%Sie müssen %code% nicht angeben, wenn Sie %code% verwenden möchten, das ist der Standardwert.
%Vor%3.Überprüfung: Test Offener Port von einem der Knoten:
%Vor%Freigegebenen Port von externem Host testen:
%Vor%Testen der DNS-Suche von innerhalb von Containern:
%Vor%ElasticSearch-spezifischer Vorschlag :
Elasticseach verfügt über ein eigenes Clustering, das Funktionen %code% und %code% bietet.
Sie können %code% und %code% pro %code% in elasticsearch-Hosts verwenden, die Teil von elasticsearch cluster sind.
Ich schlage vor, dass Sie 3 %code% mit jeweils 1 %code% erstellen, dann verbinden Sie sich dann in einem Elasticsearch-Cluster und erstellen dann %code% mit 3 %code% und 3 %code% . Sie werden %code% und %code% innerhalb von elasticsearch cluster haben.
Um mehr über %code% zu erfahren, Verwenden Sie dies .
Ich versuche herauszufinden, wie man den Schwarm-Modus in Docker richtig einsetzt. Zuerst habe ich versucht, Container auf meinen 2 Arbeitern und dem Manager-Rechner auszuführen, ohne ein benutzerdefiniertes Netzwerk anzugeben (daher verwende ich das Standard-Ingress-Overlay-Netzwerk). Wenn ich jedoch das Ingress-Netzwerk verwende, kann ich %code% aus irgendeinem Grund nicht auflösen.
Also habe ich versucht, ein benutzerdefiniertes Netzwerk wie folgt zu konfigurieren:
%Vor%Nun, wenn ich %code% in einen der Container gesetzt habe, kann ich %code% erfolgreich auflösen, aber ich kann nicht mehr auf den Port zugreifen, den ich in meiner Serviceerstellung unter %code% extern definiert habe (was ich könnte, wenn Ich benutzte das Ingress-Netzwerk).
Gibt es einen der beiden Wege:
Verwenden Sie das Ingress-Netzwerk und können Sie %code% oder einen anderen DNS-Eintrag auflösen, der an alle meine Service-Container weitergeleitet wird?
Oder verwenden Sie ein benutzerdefiniertes Netzwerk, aber %code% ports, damit ich extern darauf zugreifen kann?
BEARBEITEN
So erstelle ich meinen Service,
Ohne ein benutzerdefiniertes Netzwerk:
%Vor%Mit einem benutzerdefinierten Netzwerk:
%Vor%Was uns hier fehlt, ist Ihre Service-Definition, oder verwenden Sie nur einen guten alten Mode-Docker, wenn Sie Ihre Container definieren.
Wenn Sie die Docker-Service-Funktionalität (in Docker 1.12 verfügbar) verwendet haben, können Sie Ihre Ports weiterhin nach Dienst
anzeigen %Vor%Ihr Dienst wird im Anti-Spam-Netzwerk erstellt. Wenn Sie einen anderen Dienst nodejs2 erstellen, können Sie sich gegenseitig mit dem Dienstnamen wie ein Hostname erreichen.
Das Publizieren würde immer noch auf dem Schwarm funktionieren, aber jeder Host würde nach Port 1230 lauschen und ihn dann mit Mesh zu einem der Container leiten.