Ik was op zoek naar precies hetzelfde, en nu is er een betere manier om het te doen.
De docker mysql schrijft:
$ 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 een docker-compose wereld, zou men deze argumenten kunnen doorgeven via de "command" gedeelte van de dienst:
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
In mijn gebruiksgeval wilde ik gewoon de logs inschakelen en het pad naar het logbestand specificeren:
command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
Met de juiste volumes (bijv. - ./logs/mysql.log:/var/log/mysql/general-log.log
), wordt het gemakkelijk om ze te bereiken.
Dit is vrij eenvoudig en vermijd het omgaan met een lokale configuratie. Het werkt met alle MySQL Docker-afbeeldingen
en bewaart de my.cnf
zoals geleverd door de afbeelding.