Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:rz:docker:best-practices

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
infrastruktur:rz:docker:best-practices [2020-09-12 02:43] haseinfrastruktur:rz:docker:best-practices [2020-09-18 21:08] (aktuell) hase
Zeile 1: Zeile 1:
-====== Best Practices ======+====== Best Practices Docker Images ======
 {{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/ Netzwerkmode / Git Secret | | 0.2 | hase | 12-09-2020 | Resourcenplanung/ Netzwerkmode / Git Secret |
 +| 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 "containername_default" Netzwerk angelegt.
 +<code>
 +services:
 +  autoheal:
 +    network_mode: "none"
 +</code>
  
 +----
 ====== 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://gitlab.com/shackspace/docker-images]] [[https://gitlab.com/shackspace/docker-images]]
  
-===== 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, welches unter /entrypoint.sh auffindbar sein soll.   * ein Shell-Skript, welches unter /entrypoint.sh auffindbar sein soll.
- 
-===== 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 "containername_default" Netzwerk angelegt. 
-<code> 
-services: 
-  autoheal: 
-    network_mode: "none" 
-</code> 
- 
- 
- 
- 
- 
- 
infrastruktur/rz/docker/best-practices.1599871400.txt.gz · Zuletzt geändert: 2020-09-12 02:43 von hase