Docker-swarm from the scratch: Unterschied zwischen den Versionen
| Zeile 3: | Zeile 3: | ||
Docker ist eine '''Containervirtualisierung'''. Durch Docker können mehrere Prozesse isoliert und damit unabhängig voneinander ausgeführt werden. Dies ermöglicht eine einfache Reparatur und Aktualisierung des Containers ohne andere Container zu gefährden. | Docker ist eine '''Containervirtualisierung'''. Durch Docker können mehrere Prozesse isoliert und damit unabhängig voneinander ausgeführt werden. Dies ermöglicht eine einfache Reparatur und Aktualisierung des Containers ohne andere Container zu gefährden. | ||
| − | [[Datei:docker-container-zu-linux.png]] | + | [[Datei:docker-container-zu-linux-01.png]] |
*Links ein Linux System und rechts der Aufbau und die Abschirmung anderer Prozesse durch Docker. | *Links ein Linux System und rechts der Aufbau und die Abschirmung anderer Prozesse durch Docker. | ||
| − | |||
=Docker Swarm= | =Docker Swarm= | ||
Version vom 24. März 2021, 11:05 Uhr
Was ist Docker?
Docker ist eine Containervirtualisierung. Durch Docker können mehrere Prozesse isoliert und damit unabhängig voneinander ausgeführt werden. Dies ermöglicht eine einfache Reparatur und Aktualisierung des Containers ohne andere Container zu gefährden.
- Links ein Linux System und rechts der Aufbau und die Abschirmung anderer Prozesse durch Docker.
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
