Wann verwenden wir einen docker service create
Befehl und wann verwenden wir einen docker run
Befehl?
Wann verwenden wir einen docker service create
Befehl und wann verwenden wir einen docker run
Befehl?
Antworten:
Kurz gesagt: Der Docker-Dienst wird hauptsächlich verwendet, wenn Sie den Masterknoten mit Docker-Schwarm so konfiguriert haben, dass Docker-Container in einer verteilten Umgebung ausgeführt werden und einfach verwaltet werden können.
Docker-Lauf: Der Docker-Befehl run erstellt zuerst eine beschreibbare Containerebene über dem angegebenen Image und startet sie dann mit dem angegebenen Befehl.
Das heißt, der Docker-Lauf entspricht der API / container / create then / container / (id) / start
Quelle: https://docs.docker.com/engine/reference/commandline/run/#parent-command
Docker-Dienst: Der Docker-Dienst ist das Image eines Mikrodienstes im Kontext einer größeren Anwendung. Beispiele für Dienste können ein HTTP-Server, eine Datenbank oder ein anderes ausführbares Programm sein, das Sie in einer verteilten Umgebung ausführen möchten.
Wenn Sie einen Dienst erstellen, geben Sie an, welches Container-Image verwendet und welche Befehle in laufenden Containern ausgeführt werden sollen. Sie definieren auch Optionen für den Dienst, einschließlich:
Quelle: https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/#services-tasks-and-containers
Vielleicht möchten Sie lesen " Docker-Dienst ist der neue Docker-Lauf "
Nach diesen Folien ist "Docker Service Create" wie ein "weiterentwickelter" Docker-Lauf. Sie müssen einen "Dienst" erstellen, wenn Sie einen Container für Docker Swarm bereitstellen möchten
Zum Beispiel
docker service create --name MY_SERVICE_NAME --replicas 3 IMAGE:TAG
Erstellt 3 Aufgaben des Dienstes MY_SERVICE_NAME, der auf dem Image IMAGE: TAG basiert.
Weitere Informationen finden Sie hier
Der Docker-Lauf startet einen einzelnen Container.
Mit dem Docker-Dienst verwalten Sie eine Gruppe von Containern (aus demselben Image). Sie können sie skalieren (mehrere Container starten) oder aktualisieren.
docker service ls
) kennen, wie erhalten Sie dann eine Liste der IDs von Docker-Containern das gehört zu dieser Gruppe. Damit Sie dann in einen dieser Container ssh können? Dies scheint mir etwas zu sein, was die Leute tun möchten, wie ich, aber die Antwort scheint sehr schwer zu fassen, da ich gesucht und gesucht habe ... (Danke fürs Lesen, hoffe, Sie könnten Ihre Gedanken teilen).
Docker-Dienste sind wie "Blaupausen" für Container. Sie können beispielsweise einen einfachen Worker als Service definieren und diesen Service dann auf 20 Container skalieren, um eine Warteschlange sehr schnell zu durchlaufen. Anschließend skalieren Sie diesen Service erneut auf 3 Container. Über Swarm können diese Container auch auf verschiedenen Knoten Ihres Schwarms bereitgestellt werden.
Aber ja, ich empfehle auch, die Dokumentation zu lesen, genau wie @Tristan vorgeschlagen hat.