Direkt zum Inhalt
MP-Development Code, Bikes and more

Drupal per docker-compose installieren

Gespeichert von Michael am
docker drupal logos

Drupal lässt sich recht einfach in einem Docker Container betreiben. Das drupal:latest Image von Dockerhub kommt schon fertig mit apache2 und PHP 8. Lediglich die gewünschte Datenbank muss man noch zur Verfügung stellen. Zur Auswahl stehen hier MySQL oder MariaDB, Postgres und SQLite. Sollte man sich für SQLite entscheiden brauchen wie keinen extra DB Container. In unserem Beispiel nutzen wir MariaDB und das Ganze mit Docker-Compose.

Ich setze jetzt einfach mal voraus ihr habt Docker und Docker-Compose schon installiert. Ansonsten hiflt ein Google Suche nach einer Installations-Anleitung für eure Distro/OS weiter. Da gibts genügend gute von.

Das Ganze ist ein recht einfaches Beispiel, nach dem Drupal unter localhost erreichbar ist. Für den Produktiv Einsatz wäre noch die Konfiguration des Apache mit Domain und SSL Zertifikat nötig.

docker-compose.yml

version: '3.1'
services:
  mariadb:
    image: mariadb
    container_name: mariadb
    command: --max-allowed-packet=64MB
    restart: always
    networks:
      - internal
    volumes:
      - mariadb_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_PASSWORD=drupal
      - MYSQL_DATABASE=drupal
      - MYSQL_USER=drupal

  drupal:
    image: drupal:latest
    container_name: drupal
    depends_on:
      - mariadb
    restart: always
    networks:
      - internal
      - external
    volumes:
      - drupal_data:/opt/drupal
    ports:
      - "80:80"
networks:
  external:
    driver: bridge
  internal:
    driver: bridge

volumes:
  drupal_data:
  mariadb_data:

Erklärung

In unserem Beispiel haben wir 2 Container definiert, einmal den MariaDB und einmal den für Drupal, jeweils in der aktuellsten Version. Die Daten werden persisten gespeichert (volumes). Unter Ubuntu findet ihr diese dann unter /var/lib/docker/volumes /drupal_data für Drupal und /var/lib/docker/volumes /mariadb_data für die Datenbank.
Mit restart: always definieren wir, wie die Container im Falle eines reboot oder ähnlichen gestartet werden sollen, nämlich immer.

Start/Stop

Im Verzeichniss eurer docker-compose.yml

# starten
docker-compose up -d

#stoppen
docker-compose stop

Bei der Einrichtung von Drupal im Browser müsst ihr dann mariadb als DB Host angeben.

Neuen Kommentar hinzufügen

CAPTCHA
Diese Sicherheitsfrage überprüft, ob Sie ein menschlicher Besucher sind und verhindert automatisches Spamming.
Blog-Tags