2017-01-22 4 views
5

Ich bin mir bewusst, dass docker-compose mit docker-swarm (das jetzt Legacy ist) in der Lage ist, einige Dienste auf einem Knoten zu planen Abhängigkeit Filter wie Link)Stellen Sie einen Docker-Stack auf einem Knoten bereit (Co-Schedule-Container wie Docker-Schwarm)

ich mich gefragt, ob diese Art von Co-Scheduling möglich ist, in Docker eingeführt modernen Docker Motor Schwarm-Modus und der neuen Stack Einsatz mit 1,13

in Docker-compose Datei Version 3 Links Bei der Bereitstellung eines Stacks in einem Schwarm sollen diese ignoriert werden, also sind Links offensichtlich keine Lösung.

Wir haben eine Reihe von Servern, um Batch-Short-Running-Jobs zu führen, und das Netzwerk zwischen ihnen ist nicht sehr hohe Geschwindigkeit. Wir möchten jeden Batch-Job (der aus mehreren Containern besteht) auf einem Server ausführen, um Netzwerk-Overhead zu vermeiden. Ist diese Funktion im Docker-Stack- oder Docker-Schwarm-Modus implementiert oder sollten wir den alten Docker-Schwarm verwenden?

Außerdem konnte ich in den Platzierungsrichtlinien keine Co-Terminierung mit einem anderen Container finden.

Antwort

-1

Sie können weiterhin verwenden depends_on

Es lohnt sich, einen Blick auf dockerize zu haben.

+0

hängt und dockerize Start enthält in einer geordneten Reihenfolge, sie aber nicht auf demselben Knoten laufen zu lassen. –

1

@Roman: Sie haben Recht.

zu einem bestimmten Knoten, den Sie verwenden Platzierung Politik müssen bereit:

version: '3' 
services: 

    job1: 
    image: example/job1 
    deploy: 
     placement: 
     node.hostname: node-1 
    networks: 
     - example 

    job2: 
    image: example/job2 
    deploy: 
     placement: 
     node.hostname: node-1 
    networks: 
     - example 

networks: 
    example: 
    driver: overlay 
+0

Ich wollte keine Container auf einem bestimmten Knoten ausführen. Ich wollte sicherstellen, dass zwei Container auf demselben Knoten laufen, der abstrakter ist. –

Verwandte Themen