2016-08-02 25 views
1

Ich versuche meine Server-Infrastruktur mit Compose und Schwarm einzurichten. Im Grunde möchte ich ein Setup haben (ziemlich genau), das dieses Beispiel von der Docker Website auf Digital Ocean Tröpfchen widerspiegelt.Docker mit Compose und Swarm

https://docs.docker.com/swarm/swarm_at_scale/deploy-app/

Dies ist die Ausgabe von laufenden Docker-komponieren bis:

docker-compose up -d 
Creating network "scale_voteapp" with the default driver 
Creating volume "scale_db-data" with default driver 
Pulling db (postgres:9.4)... 
worker01: Pulling postgres:9.4... : downloaded 
dbstore: Pulling postgres:9.4... : downloaded 
frontend01: Pulling postgres:9.4... : downloaded 
frontend02: Pulling postgres:9.4... : downloaded 
Creating db 
Pulling redis (redis:latest)... 
dbstore: Pulling redis:latest... : downloaded 
frontend01: Pulling redis:latest... : downloaded 
frontend02: Pulling redis:latest... : downloaded 
worker01: Pulling redis:latest... : downloaded 
Creating redis 

Daraus geht hervor, dass jeder Dienst auf jedem Computer installiert ist immer ... so worker01 Postgres haben wird, Redis usw. installiert, anstatt das Worker-Image wie im Diagramm dargestellt zu installieren.

Also meine Frage ist ziemlich gerecht, ist das was passiert und soll es so funktionieren? Wird jeder Dienst auf jedem Computer zugeordnet (und wenn ja, wird jeder Dienst auf jedem Computer ausgeführt?) Oder wird jeder Dienst einem einzelnen physischen Computer im Cluster zugeordnet?

Cheers, Aaron

+0

Von den oben genannten sehen wir nur, dass Containerbilder auf mehrere Maschinen heruntergeladen werden. Warum würdest du nicht überprüfen, wo und in welchen Zahlen sie laufen? Ich denke, 'docker ps' wird zeigen, dass ... –

Antwort

2

Jedes Bild auf jedem Knoten heruntergeladen wird. Wenn ein Container auf einem anderen Knoten neu gestartet werden muss, ist das Image verfügbar. Die Dienste werden jedoch nicht auf jedem Knoten gestartet, sodass nur der Speicherplatz belegt wird, keine anderen Ressourcen.