Docker-swarm from the scratch
Docker Swarm
Der Docker Swarm basiert auf einer Master-Slave-Architektur. Der Docker Swarm besteht aus einem Manager und mehreren Arbeiter Maschinen. Der Swarm-Manager ist für die Verwaltung und Delegation der Aufgaben verantwortlich. Die Swarm-Worker sind für die Ausführung der Tasks zuständig. Ein großer Hauptpunkt für den Swarm ist das Load-Balancing. Dieses ist bereits bei der Installation integriert und sorgt für eine gute Lastenverteilung.
Docker Compose
Mithilfe Docker-Compose lassen sich die Container einfacher Verwalten. Docker-Compose bringt einige Kommandos mit sich und liefert durch die docker-compose.yml , praktisch das Herzstück des Docker-Compose, eine Datei mit der bestimmt wird wie die Container Starten sollen und wie sie untereinander verknüpft sind. Außerdem können Verzeichnisse, Ports freigegeben und Verlinkungen hergestellt werden und noch einiges mehr.
- Beispiel einer docker-compose.yml für bind9
version: '3.5' services: bind9: restart: always image: labbsr0x/dns-bind9 ports: - "53:53/udp" - "53:53/tcp" volumes: - ./bind9:/data # Change volume path
Docker Swarm Installieren
- apt update
- apt upgrade
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- apt update
- apt-get install -y docker-ce docker-compose
- systemctl start docker
- systemctl enable docker
Docker Compose Befehle
- docker-compose up -d
- Die docker-compose.yaml wird im Hintergrund gestartet und somit der Container
- docker-compose ps
- listet die aktiven Container auf
- docker-compose stop/start name
- stoppt den Container ohne ihn zu removen oder startet ihn wieder
- docker-compose exec SERVICENAME /bin/sh
- für interaktive shell
- docker-compose logs
- logs werden zu einem Container mitverfolgt wenn er mit docker-compose up -d gestartet wurde