Benutzer-Werkzeuge

Webseiten-Werkzeuge


docker:compose

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
docker:compose [2021/11/04 18:59] – Externe Bearbeitung 127.0.0.1docker:compose [2026/02/12 05:09] (aktuell) – [Docker container basierend auf docker-compose.yml neu erstellen:] franz
Zeile 1: Zeile 1:
 ====== Docker Compose ====== ====== Docker Compose ======
 +
 +----
  
 ===== Commands für Docker Compose ===== ===== Commands für Docker Compose =====
Zeile 22: Zeile 24:
  
 Docker Compose [[https://dasnetzundich.de/docker-compose-erklaert/|erklärt]] Docker Compose [[https://dasnetzundich.de/docker-compose-erklaert/|erklärt]]
 +
 +===== Secrets und docker-compose - ein Beispiel =====
 +
 +hier an einem Beispiel von Nextdcloud
 +
 +<code>
 +version: '3.8'
 +
 +services:
 +  mariadb:
 +    image: mariadb:10.11
 +    restart: always
 +    environment:
 +      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
 +      MYSQL_DATABASE: nextcloud
 +      MYSQL_USER: nextcloud
 +      MYSQL_PASSWORD_FILE: /run/secrets/db_user_password
 +    secrets:
 +      - db_root_password
 +      - db_user_password
 +    volumes:
 +      - db:/var/lib/mysql
 +
 +  redis:
 +    image: redis:alpine
 +    restart: always
 +    command: ["redis-server", "--requirepass", "$(cat /run/secrets/redis_password)"]
 +    secrets:
 +      - redis_password
 +    volumes:
 +      - redis:/data
 +
 +  nextcloud:
 +    image: nextcloud:31
 +    restart: always
 +    depends_on:
 +      - mariadb
 +      - redis
 +    environment:
 +      MYSQL_PASSWORD_FILE: /run/secrets/db_user_password
 +      MYSQL_DATABASE: nextcloud
 +      MYSQL_USER: nextcloud
 +      MYSQL_HOST: mariadb
 +      REDIS_HOST: redis
 +      REDIS_HOST_PASSWORD_FILE: /run/secrets/redis_password
 +      NEXTCLOUD_ADMIN_PASSWORD_FILE: /run/secrets/nextcloud_admin_password
 +      NEXTCLOUD_ADMIN_USER: admin
 +    secrets:
 +      - db_user_password
 +      - redis_password
 +      - nextcloud_admin_password
 +    volumes:
 +      - nextcloud:/var/www/html
 +    ports:
 +      - 8080:80
 +
 +volumes:
 +  db:
 +  redis:
 +  nextcloud:
 +
 +secrets:
 +  db_root_password:
 +    file: ./secrets/db_root_password
 +  db_user_password:
 +    file: ./secrets/db_user_password
 +  redis_password:
 +    file: ./secrets/redis_password
 +  nextcloud_admin_password:
 +    file: ./secrets/nextcloud_admin_password
 +
 +</code>
 +===== Docker container basierend auf docker-compose.yml neu erstellen: =====
 +
 +<code>
 +docker compose up -d --force-recreate app
 +
 +</code>
 +
 +bedeutet:
 +
 +  * **''up'' **: Starte/erstelle Container basierend auf deinem ''docker-compose.yml''  (Service-Definitionen).
 +  * **''-d'' **: //detached//  – läuft im Hintergrund, du bekommst die Konsole sofort zurück.
 +  * **''–force-recreate'' **: Container werden **neu erstellt**, auch wenn Docker denkt „ist eh schon aktuell“.
 +→ wichtig, wenn du z. B. **Volumes/Mounts**, **environment**  oder **Config-Dateien**  geändert hast und sicherstellen willst, dass das wirklich im Container landet.
 +
 +  * **''app'' **: Nur der **Service ''app'' **  wird betroffen (nicht db/redis etc.). Was dabei typischerweise passiert:
 +  * Der **alte Container**  für ''app''  wird gestoppt und entfernt.
 +  * Ein **neuer Container**  wird mit derselben Service-Config erstellt (inkl. neuen Mounts/ENV).
 +  * **Benannte Volumes**  wie ''nextcloud:''  bleiben erhalten (deine Daten sind nicht weg).
 +  * **Nicht benannte/temporäre Container-Dateien**  sind weg (weil neuer Container). Praktisch als Merksatz:
 +➡️ **„Starte ''app''  neu, aber garantiert mit //frischer Container-Instanz//  und aktueller Compose-Konfiguration.“**
  
  
docker/compose.1636048776.txt.gz · Zuletzt geändert: von 127.0.0.1

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki