infrastruktur:rz:docker:best-practices
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
infrastruktur:rz:docker:best-practices [2020-09-12 02:43] – hase | infrastruktur:rz:docker:best-practices [2020-09-18 21:08] (aktuell) – hase | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Best Practices ====== | + | ====== Best Practices |
{{tag> storage-server infrastructure shackoperations }} | {{tag> storage-server infrastructure shackoperations }} | ||
Zeile 6: | Zeile 6: | ||
| 0.1 | hase | 11-09-2020 | Seite angelegt | | | 0.1 | hase | 11-09-2020 | Seite angelegt | | ||
| 0.2 | hase | 12-09-2020 | Resourcenplanung/ | | 0.2 | hase | 12-09-2020 | Resourcenplanung/ | ||
+ | | 0.3 | hase | 12-09-2020 | Trennung nach Compose File und Docker Image | | ||
====== Best Practices für Docker Images im shack ====== | ====== Best Practices für Docker Images im shack ====== | ||
Zeile 33: | Zeile 34: | ||
===== Optional ===== | ===== Optional ===== | ||
+ | ==== Container ohne Netzwerk ==== | ||
+ | Wenn ein Container kein Netzwerk braucht (watchtower oder autoheal) kann mit Hilfe des Parameters network_mode das Netzwerk ausgeschaltet werden. Dann wird kein " | ||
+ | < | ||
+ | services: | ||
+ | autoheal: | ||
+ | network_mode: | ||
+ | </ | ||
+ | ---- | ||
====== Docker Image ====== | ====== Docker Image ====== | ||
===== Must-Haves ===== | ===== Must-Haves ===== | ||
- | ===== docker-compose Example File ===== | + | ==== docker-compose Example File ==== |
Es muss ein docker-compose.yml Beispiel existieren. | Es muss ein docker-compose.yml Beispiel existieren. | ||
- | ===== Externe Abhängigkeiten | + | ==== Externe Abhängigkeiten ==== |
Wenn ein Container eine externe Abhängigkeit hat darf diese nicht hart ausgelegt sein. Crashed der Container in Abwesenheit der Abhängigkeit muss das Design überarbeitet werden. | Wenn ein Container eine externe Abhängigkeit hat darf diese nicht hart ausgelegt sein. Crashed der Container in Abwesenheit der Abhängigkeit muss das Design überarbeitet werden. | ||
- | |||
===== Optional ===== | ===== Optional ===== | ||
Zeile 49: | Zeile 57: | ||
[[https:// | [[https:// | ||
- | ===== CI ===== | + | ==== CI ==== |
Die Docker Images sollten alle über eine CI Pipeline automatisch über Gitlab Runner gebaut werden. In jedem Git Repo für ein Docker Image muss daher eine .gitlab-ci.yml vorhanden sein. | Die Docker Images sollten alle über eine CI Pipeline automatisch über Gitlab Runner gebaut werden. In jedem Git Repo für ein Docker Image muss daher eine .gitlab-ci.yml vorhanden sein. | ||
- | ===== Service-Handling | + | ==== Service-Handling ==== |
Das Service-Handling in Containern kann über viele Wege abgehandelt werden. Empfohlen ist als Entrypoint entweder | Das Service-Handling in Containern kann über viele Wege abgehandelt werden. Empfohlen ist als Entrypoint entweder | ||
* direkt den Befehlsaufruf mit Parametern oder | * direkt den Befehlsaufruf mit Parametern oder | ||
* ein Shell-Skript, | * ein Shell-Skript, | ||
- | |||
- | ===== Container ohne Netzwerk ===== | ||
- | Wenn ein Container kein Netzwerk braucht (watchtower oder autoheal) kann mit Hilfe des Parameters network_mode das Netzwerk ausgeschaltet werden. Dann wird kein " | ||
- | < | ||
- | services: | ||
- | autoheal: | ||
- | network_mode: | ||
- | </ | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
infrastruktur/rz/docker/best-practices.1599871400.txt.gz · Zuletzt geändert: 2020-09-12 02:43 von hase