MySQL mit docker-compose für ein Testprojekt

- Veröffentlicht unter Linux von - Permalink

Für ein Testprojekt mit Django wollte ich gleich mal versuchen, mit einer "richtigen Datenbank" zu arbeiten. Ich hätte zwar das voreingestellte SQLite nehmen können, aber um das gleich für ein zukünftiges richtiges Projekt zu testen, habe ich mir auf der Synology - ohne den Container-Manager, sondern richtig von der Kommandozeile - ein MySQL-Container angelegt.

Nach dem einloggen habe ich erst mal im Verzeichnis /volume1/docker meine Verzeichnisse mysql-test und darunter db für die Datenbank angelegt.

Als nächstes musste die docker-compose.yml erstellt werden:

services:
  db:
    image: mysql:latest
    container_name: mysql-test
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    ports:
      - "6111:3306"
    volumes:
      - /volume1/docker/mysql-test/db:/var/lib/mysql

Die Einträge unter environment: verweisen auf eine Datei .env im gleichen Ordner:

MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=testdb
MYSQL_USER=user
MYSQL_PASSWORD=password

Intern hat der Container den Port 3306, den ich hier bei mir Lokal auf die 6111 lege. Und mit volumes lege ich dann die im Container liegende Datenbank in den oben angelegten Ordner.

Mit sudo docker-compose up -d wird jetzt der Container gestartet.

Und fertig ist der eigene Datenbank-Server.

Schlagworte: