Ich habe genau das Gleiche gesucht und jetzt gibt es einen besseren Weg, es zu tun.
Der Docker mysql schreibt:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
In einem docker-compose Welt könnte man diese Argumente durch den "command" übergeben Abschnitt des Dienstes:
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
In meinem Anwendungsfall wollte ich nur die Protokolle einschalten und den Pfad zur Protokolldatei angeben:
command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
Mit den entsprechenden Volumes (z. B. - ./logs/mysql.log:/var/log/mysql/general-log.log
), wird es einfach, sie zu erreichen.
Dies ist ziemlich einfach und vermeidet den Umgang mit einer lokalen Konfiguration. Es funktioniert mit allen MySQL-Docker-Images
und behält die my.cnf
wie vom Bild geliefert.