Wann verwenden wir einen docker service create
-Befehl und wann verwenden wir einen docker run
-Befehl?
In Kürze: 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 leicht verwaltet werden können.
Docker run: Der Docker-Run-Befehl erstellt zunächst eine beschreibbare Containerebene über dem angegebenen Image und startet sie dann mit dem angegebenen Befehl.
Das heißt, der Andocklauf entspricht der API/container/create then/container/(id)/start
source: https://docs.docker.com/engine/reference/commandline/run/#parent-command
Docker-Dienst: Der Docker-Dienst ist das Image für einen Microservice im Kontext einer größeren Anwendung. Beispiele für Dienste umfassen einen HTTP-Server, eine Datenbank oder ein beliebiges anderes ausführbares Programm, das Sie in einer verteilten Umgebung ausführen möchten.
Wenn Sie einen Dienst erstellen, geben Sie an, welches Containerimage verwendet werden soll und welche Befehle in laufenden Containern ausgeführt werden sollen. Sie definieren auch Optionen für den Service, einschließlich:
source: 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 "
Laut diesen Folien ist "Docker Service Create" wie ein "weiterentwickelter" Dockerlauf. Sie müssen einen "Dienst" erstellen, wenn Sie einen Container in Docker Swarm bereitstellen möchten
Docker-Dienste sind wie "Blaupausen" für Container. Sie können z. Definieren Sie einen einfachen Worker als Service, und skalieren Sie diesen Service dann auf 20 Container, um eine Warteschlange schnell durchlaufen zu können. Anschließend skalieren Sie diesen Service erneut auf 3 Container. Über Swarm können diese Container auch auf verschiedenen Knoten Ihres Swarms bereitgestellt werden.
Ja, ich empfehle auch, die Dokumentation zu lesen, genau wie @Tristan vorgeschlagen.
Andockfahrt startet einen einzelnen Container.
Mit dem Andockdienst verwalten Sie eine Gruppe von Containern (aus demselben Image). Sie können sie skalieren (mehrere Container starten) oder aktualisieren.
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