Inhaltsverzeichnis

Docker Compose


Commands für Docker Compose

Einführung in Docker Compose

eine gute Einführung in die Syntax und Bedeutung der Befehle findest du hier. oder hier

Installation von Docker Compose

Wie man docker-compose installiert und ein erstes yml file erstellt findest du hier

Docker Compose erklärt

Secrets und docker-compose - ein Beispiel

hier an einem Beispiel von Nextdcloud

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